SQL ステートメントの使用
DB2® UDB for iSeries® データベースは、SQL ステートメントをユーザーのプログラム・ソースに組み込むことによって、ILE RPG
プログラムからアクセスすることができます。 SQL ステートメントを入れるには、
次の規則を使用してください。
- SQL ステートメントは演算仕様書に自由形式または固定形式で入れます。
- 自由形式の場合
- 区切り文字「EXEC SQL」を使用して SQL ステートメントを開始します。
- SQL ステートメントは複数の行に入れることができます。 継続文字は不要です。
- SQL ステートメントの終了を示すにはセミコロンを使用します。
- 固定形式の場合
- SQL ステートメントは、7 ~ 15 桁目に /EXEC SQL (7 桁目に /) の区切り文字を使用して開始します。
- ステートメントを後続の行に続けるためには、継続記入行区切り文字 (7 桁目に +) を使用します。
- SQL ステートメントの終わりを示すには、7 ~ 15 桁目に /END-EXEC (7 桁目に /) の終了区切り文字を使用します。
- SQL ステートメントの入力は、開始区切り文字と同一の行から始めること ができます。
注: SQL ステートメントは、プログラム内で 80 桁を超えることはできません。
図 1 と 図 2 は組み込み SQL ステートメントの例です。
図 1. ILE RPG プログラムの中の自由形式 SQL ステートメント
...+....1....+....2....+....3....+....4....+....5....+....6....+....7..
/FREE
X = Y + Z; // ILE RPG calculation operations
// The entire SQL statement is on one line
EXEC SQL INSERT INTO MYLIB/MYFILE (FLD1) VALUES(12);
// The SQL statement begins on the same line as
// EXEC SQL and then it is is split across several lines
EXEC SQL INSERT
INTO MYLIB/MYFILE
(FLD1) VALUE(12);
// The SQL statement begins on the line after
// EXEC SQL and then it is is split across several lines
EXEC SQL
INSERT INTO MYLIB/MYFILE
(FLD1) VALUE(12);
X = Y + Z; // ILE RPG calculation operations
/END-FREE
図 2. ILE RPG プログラムの中の固定形式 SQL ステートメント
...+....1....+....2....+....3....+....4....+....5....+....6....+....7..
* ILE RPG calculation operations
C EVAL X = Y + Z
* The entire SQL statement is on one line
C/EXEC SQL INSERT INTO MYLIB/MYFILE (FLD1) VALUES(12)
C/END-EXEC
* The SQL statement begins on the same line as
* EXEC SQL and then it is is split across several lines
C/EXEC SQL INSERT
C+ INTO MYLIB/MYFILE
C+ (FLD1) VALUE(12)
C/END-EXEC
* The SQL statement begins on the line after
* EXEC SQL and then it is is split across several lines
C/EXEC SQL
C+ INSERT INTO MYLIB/MYFILE
C+ (FLD1) VALUE(12)
C/END-EXEC
* ILE RPG calculation operations
C EVAL X = Y + Z
C
SQL ステートメントを処理するには、別のコマンドを入力する必要があり
ます。詳細については、Web サイト http://www.ibm.com/systems/i/infocenter/ で IBM® i Information Center の中の『データベースおよびファイル・システム』カテゴリーの『DB2 for i』の節を参照してください。
SEU による SQL ステートメントの構文検査の処理方法については、資料「ADTS for AS/400: Source Entry Utility」を参照してください。