埋め込み SQL 文

実行可能な文が出現できる場所であれば、プログラム内のどの場所にも SQL 文を追加できます。各 SQL 文は、EXEC (または EXECUTE) SQL で始まり、セミコロン (;) で終わる必要があります。

たとえば、UPDATE 文は次のようにコーディングできます。

exec sql update Department
   set Mgrno    = :Mgr_Num
   where Deptno = :Int_Dept;

コメント

PL/I コメントは、空白文字が許可される場所であればどこでも、埋め込み SQL 文にインクルードできます。

継続

埋め込み SQL 文の行の継続規則は、その他の PL/I 文と同じです。

インクルードするコード

SQL 文または PL/I ホスト変数の宣言文は、ソース コード内の文の埋め込み先ポイントに次の SQL 文を配置することで、インクルードできます。

exec sql include {filename | 'filename'};

filename は、一重引用符文字 (') で囲むことができます。次の例のように、filename に英数字以外の文字が含まれる場合は、引用符が必要です。

'inventory.db001'.

名前

ホスト変数には任意の有効な PL/I 名を使用できますが、次の制約が適用されます。「SQL」で始まるホスト変数名または外部エントリ名を使用しないでください。このような名前は、データベース マネージャーまたは Open PL/I 用に予約されています。また、ホスト変数名は 30 文字を超えてはいけません。

文のラベル

PL/I 文などの実行可能な SQL 文では、先頭にラベルを付けることができます。ただし、END DECLARE SECTION 文および INCLUDE text-filename 文は例外です。

WHENEVER 文

SQL WHENEVER 文内の、GOTO 句のターゲットは、PL/I ソース コード内のラベルであり、WHENEVER 文の影響を受けるあらゆる SQL 文の範囲に該当する必要があります。