AS/400SQLではメンバを扱いにくい
AS/400ではファイルを ライブラリ名/テーブル名(メンバ名)
のように表しますね。
でも、SELECT * FROM ライブラリ名.テーブル名(メンバ名)
としてもSQLはエラーとなってしまいます。
()内のメンバを識別できないのが理由です。
エイリアスALIASを使うと扱える
ALIASは別名
エイリアスとは別名のことです。取り扱いやすい「あだ名」をつけるようなものです。
ライブラリ名.テーブル名(メンバ名)
となっているから扱いにくいのですから、 ライブラリ名.テーブル名
という別名としてやればいいと考えます。
SELECTの前に別名にする
STRSQL画面にて、
CREATE ALIAS 別名のライブラリ名.テーブル名 FOR 元のライブラリ名.テーブル名(メンバ名)
例えば、SRC.QRPGLESRC(HABA001) というRPGソースメンバをテキストとして転送したいなら、 ライブラリ名.テーブル名 の形にエイリアスを設定します。
ここでは HABAKIRI.ALIAS というエイリアスを割り当てました。
CREATE ALIAS HABAKIRI.ALIAS FOR SRC.QRPGLESRC (HABA001)
エイリアスからSELECTする
ライブラリ名.テーブル名 という形になれば、通常のテーブルと同様にSELECTできます。
SELECT SRCDTA FROM HABAKIRI.ALIAS
これでソースコードを取得できました。
エイリアスを削除します
DROP ALIAS HABAKIRI.ALIAS