一所懸命に手抜きする

デスクワークばかりのスポーツ嫌いで50歳も過ぎ、いよいよ足腰に衰えを感じつつある昨今。

AS/400でメンバをSQLで操作するには?

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