埋め込み SQL

各データベース アクセス プリプロセッサは、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 識別名にはハイフンを使用できません。

通常、SQL 識別子はそれらがサポートする文字に関して制限されています。一般的には、引用符で囲まれていない識別子には、A~Z、0~9、および下線のみ含めることができます。一部のデータベースでは、小文字や @ および # の記号も使用できます。SQL 識別子に抑音アクセント、スペース、または DBCS 文字などの他の文字が含まれる場合、それらは区切る必要があります。区切り文字として使用する文字などの詳細については、データベース ベンダーのマニュアルを参照してください。

SQL 文

ほとんどのベンダーは、埋め込み SQL 文についての完全な情報を含む SQL リファレンス マニュアルをデータベース ソフトウェアとともに提供します。たとえば、データベース ソフトウェアの種類にかかわらず、例示されている文を使用して次の一般的な操作を実行できます。

操作 SQL 文
テーブルへのデータの追加 INSERT
テーブル内のデータの変更 UPDATE
テーブルからの行データの取得 SELECT
名前付きカーソルの作成 DECLARE CURSOR
カーソルを使用した複数行のデータの取得 OPEN、FETCH、CLOSE

構文の詳しい説明は、その使用例とともに、サポートされる埋め込み SQL 文ごとに「埋め込み SQL 文」に含まれるトピックに記載されています。