SQLをプログラムに組み込む
STRSQLコマンドで対話型でSQLコマンド実行させることがありますが、
プログラム中に組み込みたいようなことがあるかと思います。
AS/400では、RPG,CLPにSQLの組み込みができます。
RPGとCLPではできることがそれぞれ異なります。
■RPG
まずRPGでは変数の指定ができますので、動的なSQLコマンドを生成し実行することができます。
【RPG3での組み込み例】

SQL内の変数は、RPG内で使用する変数の前にコロンをつけて使用します。
ソースメンバーのタイプは「SQLRPG」です。
コンパイルはCRTSQLRPGコマンドにて行います。
■CLP
CLPではRPGのように変数の指定ができませんので固定的(静的)なSQLの実行となります。
あらかじめSQLの命令をソースメンバー上に記述しておき、RUNSQLSTMコマンドでそのメンバーを指定して実行させます。
SQLの各行の終わりにはセミコロンをつけます。
【SQLソース】

【実行コマンド】
実行結果はスプールが出力されます。
プログラム中に組み込みたいようなことがあるかと思います。
AS/400では、RPG,CLPにSQLの組み込みができます。
RPGとCLPではできることがそれぞれ異なります。
■RPG
まずRPGでは変数の指定ができますので、動的なSQLコマンドを生成し実行することができます。
【RPG3での組み込み例】

SQL内の変数は、RPG内で使用する変数の前にコロンをつけて使用します。
ソースメンバーのタイプは「SQLRPG」です。
コンパイルはCRTSQLRPGコマンドにて行います。
■CLP
CLPではRPGのように変数の指定ができませんので固定的(静的)なSQLの実行となります。
あらかじめSQLの命令をソースメンバー上に記述しておき、RUNSQLSTMコマンドでそのメンバーを指定して実行させます。
SQLの各行の終わりにはセミコロンをつけます。
【SQLソース】

【実行コマンド】
| RUNSQLSTM SRCFILE(LIB/QSQLSRC) SRCMBR(SQL010) COMMIT(*NONE) |