SQL-запрос многопользовательского файла на AS400
В AS400 в интерактивном SQL в сеансе 5250
select * from myfile
возвращает строки из одного члена, только когда myfile имеет более одного члена.
Как я могу получить строки из определенного члена?
Важно: в конце я хотел бы сделать это над JDBC с jt400, так что действительно хочу, чтобы там было решение.
Спасибо.
Ответы
Ответ 1
Вы можете создать псевдоним, используя команду create alias:
CREATE ALIAS myLibrary/myAlias FOR memberLibrary/memberFile(memberName)
Это позволит вам запустить sql против этого элемента, используя псевдоним, как и любой другой файл:
SELECT * FROM myLibrary/myAlias
Просто помните, что псевдоним будет стоять после вашей сессии, они не временные. Поэтому, если вам не понадобится псевдоним, когда вы закончите, либо создайте псевдоним в QTEMP, либо явно удалите псевдоним, как только вы закончите с ним:
DROP ALIAS myLibrary/myAlias
НТН
Ответ 2
Создайте псевдоним SQL для члена и запросите псевдоним, см. эту страницу для примера.
Ответ 3
SQL Alias
OS/400 R430
, а затем поддерживаем оператор SQL
alias. Создайте псевдоним для каждого члена, к которому необходимо получить доступ, а затем укажите псевдоним из приложения. Псевдоним - это постоянный объект - он должен быть создан только один раз. Элемент, указанный в CREATE ALIAS
, не должен существовать при создании ALIAS
. Для создания псевдонима можно использовать любой инструмент SQL
, например OS/400
или i5/OS interactive SQL (STRSQL)
или iSeries Navigator Run SQL Scripts
, например:
CREATE ALIAS MYLIB.FILE1MBR1 FOR MYLIB.MYFILE(MBR1)
CREATE ALIAS MYLIB.FILE1MBR2 FOR MYLIB.MYFILE(MBR2)
http://www-01.ibm.com/support/docview.wss?uid=nas1f1eaeecc0af19cc38625669100569213