5250 セッションの対話型 SQL の AS400 では、
select * from myfile
myfile に複数のメンバーがある場合にのみ、1 つのメンバーからの行が返されます。
特定のメンバーから行を取得するにはどうすればよいですか?
重要: 最終的には、jt400 を使用して JDBC でこれを実行したいので、そこで機能するソリューションが本当に必要です。
ありがとう。
5250 セッションの対話型 SQL の AS400 では、
select * from myfile
myfile に複数のメンバーがある場合にのみ、1 つのメンバーからの行が返されます。
特定のメンバーから行を取得するにはどうすればよいですか?
重要: 最終的には、jt400 を使用して JDBC でこれを実行したいので、そこで機能するソリューションが本当に必要です。
ありがとう。
create alias コマンドを使用してエイリアスを作成できます。
CREATE ALIAS myLibrary/myAlias FOR memberLibrary/memberFile(memberName)
これにより、他のファイルと同様に、エイリアスを使用してそのメンバーに対して sql を実行できます。
SELECT * FROM myLibrary/myAlias
エイリアスはセッション後も残ることに注意してください。一時的なものではありません。したがって、完了時にエイリアスが必要ない場合は、QTEMP でエイリアスを作成するか、使用が終了したらエイリアスを明示的に削除します。
DROP ALIAS myLibrary/myAlias
HTH
メンバーの SQL エイリアスを作成し、エイリアスに対してクエリを実行します。例については、このページを参照してください。
これは古いスレッドであり、検索結果リストの最初のスレッドです。以前の回答を強化したいと思います。
場合によっては、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;