各データベース アクセス プリプロセッサは、COBOL プログラム内に記述された埋め込み SQL 文を取り出し、対応するデータベースの関数呼び出しに変換します。
COBOL プログラム内に埋め込み SQL 文を記述する際には、その前に次のキーワードを記述する必要があります。
EXEC SQL
SQL 文の後には次のキーワードを記述します。
END-EXEC
次に例を示します。
EXEC SQL SELECT au_lname INTO :lastname FROM authors WHERE au_id = '124-59-3864' END-EXEC
埋め込み SQL 文は、必要に応じて複数の行に続けて記述できます。その際の継続に対する規則は、通常の COBOL 規則に従います。ただし、EXEC SQL と END EXEC キーワードの間に記述できるのは埋め込み SQL 文のみで、通常の COBOL コードは記述できません。
プログラム内に記述した埋め込み SQL キーワードでは、大文字と小文字は区別されません。すべて大文字、すべて小文字、または両者の組み合わせを使用することができます。たとえば、次の名前はすべて同等になります。
EXEC SQL CONNECT exec sql connect Exec Sql Connect
カーソル名、文名、および接続名の大文字小文字は、変数が宣言されたときに使用したものと一致する必要があります。たとえば、C1 というカーソルを宣言する場合には、c1 ではなく常に C1 で参照しなければなりません。
一部のデータベースでは、設定によって、接続名、テーブル名やカラム名などの大文字と小文字の扱いが決定されます。
テーブル名やカラム名など、SQL 識別名にはハイフンを使用できません。
通常、SQL 識別子はそれらがサポートする文字に関して制限されています。一般的には、引用符で囲まれていない識別子には、A~Z、0~9、および下線のみ含めることができます。一部のデータベースでは、小文字や @ および # の記号も使用できます。SQL 識別子に抑音アクセント、スペース、または DBCS 文字などの他の文字が含まれる場合、それらは区切る必要があります。区切り文字として使用する文字などの詳細については、データベース ベンダーのマニュアルを参照してください。
ほとんどのベンダーは、埋め込み SQL 文についての完全な情報を含む SQL リファレンス マニュアルをデータベース ソフトウェアとともに提供します。たとえば、データベース ソフトウェアの種類にかかわらず、例示されている文を使用して次の一般的な操作を実行できます。
構文の詳しい説明は、その使用例とともに、サポートされる埋め込み SQL 文ごとに「埋め込み SQL 文」に含まれるトピックに記載されています。