19

5250 セッションの対話型 SQL の AS400 では、

select * from myfile

myfile に複数のメンバーがある場合にのみ、1 つのメンバーからの行が返されます。

特定のメンバーから行を取得するにはどうすればよいですか?

重要: 最終的には、jt400 を使用して JDBC でこれを実行したいので、そこで機能するソリューションが本当に必要です。

ありがとう。

4

4 に答える 4

38

create alias コマンドを使用してエイリアスを作成できます。

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

これにより、他のファイルと同様に、エイリアスを使用してそのメンバーに対して sql を実行できます。

SELECT * FROM myLibrary/myAlias

エイリアスはセッション後も残ることに注意してください。一時的なものではありません。したがって、完了時にエイリアスが必要ない場合は、QTEMP でエイリアスを作成するか、使用が終了したらエイリアスを明示的に削除します。

DROP ALIAS myLibrary/myAlias

HTH

于 2009-01-12T15:11:22.650 に答える
7

メンバーの SQL エイリアスを作成し、エイリアスに対してクエリを実行します。例については、このページを参照してください。

于 2008-12-07T12:45:19.973 に答える
0

これは古いスレッドであり、検索結果リストの最初のスレッドです。以前の回答を強化したいと思います。

場合によっては、1 回限りのデータベース分析としてエイリアスを作成する必要があるだけで、エイリアスを作成してクエリの直後に削除したい場合があります。また、多くのテーブルを含むデータベース ライブラリがあり、すべてのクエリでライブラリを修飾したくないため、SET SCHEMA を使用します。IBM i AS400 サーバーの QTEMP は本質的に一時オブジェクト用であるため、QTEMP ライブラリーを使用してエイリアスを作成するのが大好きです。

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;
于 2018-07-11T17:33:35.847 に答える