昨日、同僚から教えていただいたネタをひとつご紹介します。
私は、知らない機能だったので、衝撃でした。
SQLがよくわかっていなかった10年前に知りたかった機能でしたよ!!!
と、こぼしていても始まらないので、さっそく試してみました。
QRYプログラムの作成
WRKQRY
- ファイル :TIGERDB/MSHAIN
- フィールド :SHAINID, NAME
- レコード抽出:SHAINID RANGE '0001' '0100'
今回は、動作を確認するだけなので、シンプルなQRYにしました。
「TIGERQRY/MSHAINLIST」という名前で保存しました。
ソースPFの準備
SQL文は、ソースファイルとして吐き出しされるとのことなので、SQL保管用のソースPFを準備します。
CRTSRCPF FILE(TIGER/SQLSRC) RCDLEN(112) IGCDTA(*YES) TEXT('TIGER SQLSRC')
QRYからSQL文への変換
最後に、変換処理を「RTVQMQRY」コマンドで実施します。
RTVQMQRY [F4]
QUERY 管理機能プログラム検索 (RTVQMQRY) 選択項目を入力して,実行キーを押してください。 QUERY 管理機能プログラム . . . > MSHAINLIST 名前 ライブラリー . . . . . . . . . . . > TIGERQRY 名前 , *LIBL, *CURLIB ソース・ファイル . . . . . . . > SQLSRC 名前 ライブラリー . . . . . . . . . . . > TIGER 名前 , *LIBL, *CURLIB ソース・メンバー . . . . . . . *QMQRY 名前 , *QMQRY QRYDFN からの情報使用可能 . . > *ONLY *NO, *YES, *ONLY 終り F3= 終了 F4=プロンプト F5= 最新表示 F12= 取り消し F13= この画面の使用法 F24= キーの続き
先ほど作成したTIGER/SQLSRC に保存する設定にしました。
なお、ファイル名はQRYプログラム名と同じになるようです。
SQL確認
TIGER/SQLSRC に「MSHAINLIST」というファイルが生成され、中身を確認してみると、SQL文が書き出されていました。
複雑なSQL文になる場合に、一度QRYで確認してからこの方法を使えば時短になりそうですね!!
もちろん、SQLマスターになることも大切なのですが。。。
桁 . . . . . : 1 100 走査検索 SEU==> FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ****************** データの始め ************************************************ 0001.00 H QM4 05 Q 01 E V W E R 01 03 05/15/03 07:44 0002.00 V 1001 050 社員リスト 0003.00 V 5001 004 *HEX 0004.00 SELECT 0005.00 ALL SHAINID, NAME 0006.00 FROM TIGERDB/MSHAIN T01 0007.00 WHERE SHAINID BETWEEN '0001' AND '0100' ***************** データの終わり ***********************************************