SQL-запрос многоэлементного файла на AS400 - PullRequest
19 голосов
/ 06 декабря 2008

На AS400 в интерактивном SQL в сеансе 5250,

select * from myfile

возвращает строки из одного элемента, только если myfile содержит более одного элемента.

Как я могу получить строки от определенного члена?

Важно: в конце я хотел бы сделать это через JDBC с jt400, поэтому я действительно хочу решение, которое будет работать там.

Спасибо.

Ответы [ 4 ]

37 голосов
/ 12 января 2009

Вы можете создать псевдоним с помощью команды создания псевдонима:

CREATE ALIAS myLibrary/myAlias FOR memberLibrary/memberFile(memberName)

Это позволит вам запустить sql для этого члена, используя псевдоним, как любой другой файл:

SELECT * FROM myLibrary/myAlias

Просто помните, что псевдоним останется после вашего сеанса, он не является временным. Поэтому, если вам не нужен псевдоним, когда вы закончите, создайте псевдоним в QTEMP или явно удалите псевдоним, как только вы закончите с ним:

DROP ALIAS myLibrary/myAlias

НТН

7 голосов
/ 07 декабря 2008

Создайте псевдоним SQL для члена и запросите псевдоним, см. эту страницу , например.

0 голосов
/ 11 июля 2018

Это старая ветка и все еще первая в списке результатов поиска, я хотел бы улучшить предыдущие ответы:

Иногда вам нужно всего лишь создать псевдоним как одноразовый анализ базы данных, затем вы хотите создать псевдоним и удалить его сразу после вашего запроса; у вас также есть библиотека базы данных со многими таблицами, и вы не хотите квалифицировать библиотеку в каждом запросе, поэтому вы используете SET SCHEMA; Я люблю использовать библиотеку QTEMP для создания псевдонимов, поскольку QTEMP по своей природе на серверах IBM i AS400 предназначен для временных объектов:

set schema=mylibrary;

create alias qtemp.aliasx for table1(membera);
create alias qtemp.aliasy for table2(memberb);

select  * from qtemp.aliasx;
select  * from qtemp.aliasy;

drop alias qtemp.aliasx;
drop alias qtemp.aliasy;
0 голосов
/ 01 июля 2013

Псевдоним SQL

OS/400 R430 и более поздние версии поддерживают псевдоним SQL. Создайте псевдоним для каждого члена, к которому необходимо получить доступ, а затем укажите псевдоним из приложения. Псевдоним является постоянным объектом - его нужно создавать только один раз. Член, указанный в CREATE ALIAS, не должен существовать при создании ALIAS. Любой инструмент SQL, например OS/400 или i5/OS interactive SQL (STRSQL) или iSeries Navigator's Run SQL Scripts, можно использовать для создания псевдонима, например:

CREATE ALIAS MYLIB.FILE1MBR1 FOR MYLIB.MYFILE(MBR1) 
CREATE ALIAS MYLIB.FILE1MBR2 FOR MYLIB.MYFILE(MBR2)

http://www -01.ibm.com / поддержка / docview.wss? UID = nas1f1eaeecc0af19cc38625669100569213

...