一所懸命に手抜きする

監査の仕事をしています。ITを利用し、良い意味で「手抜き」することは効率化と精度アップに役立つと思うんです。部下への引き継ぎのためにまずは諸々頭から引っ張り出そうとブログを始めました。

[ Main ]  [ 別館 ]
当ブログで取り上げられている事案やデータベース、人物等はすべてフィクションです。

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 
広告を非表示にする