COBOL2002 言語 拡張仕様編


9.2 埋め込みSQL文(データベースアクセス機能)

形式

[図データ]

機能

COBOLプログラム中にSQL文を記述する。

構文規則
  1. COPY文によって展開する原文中,COPY文中およびREPLACE文中にEXEC,SQLおよびEND-EXECを指定してはならない。

  2. 埋め込みSQL文は,REPLACE文の対象とはならない。

  3. 埋め込みSQL文でCOBOLプログラムに埋め込むことができるSQLの文を次に示す。

    表9‒1 埋め込みSQL文でCOBOLプログラムに埋め込むことができるSQLの文

    種類

    分類

    SQL文

    概要

    宣言系

    埋め込みSQL宣言節

    BEGIN DECLARE SECTION

    埋め込みSQL開始宣言。

    END DECLARE SECTION

    埋め込みSQL終了宣言。

    埋め込み例外宣言

    WHENEVER

    埋め込み例外宣言。

    カーソル

    DECLARE CURSOR

    カーソル宣言。

    制御系

    コネクション

    CONNECT

    コネクションを確立する。

    DISCONNECT

    コネクションを解除する。

    SET CONNECTION

    現行コネクションを変更する。

    トランザクション

    COMMIT

    コミットでトランザクションを終了させる。

    ROLLBACK

    ロールバックでトランザクションを終了させる。

    操作系

    静的

    SELECT

    表の指定された行から値を取り出す。

    INSERT

    表中に新しい行を作成する。

    DELETE

    表から行を削除する。

    UPDATE

    表の行を更新する。

    カーソル

    OPEN

    カーソルを開く。

    FETCH

    カーソルを表の次の行に位置づけ,その行を取り出す。

    CLOSE

    カーソルを閉じる。

    ストアドプロシージャ

    CALL

    ストアドプロシージャを呼び出す。

    動的

    EXECUTE IMMEDIATE

    動的SQLを準備し,実行する。

    PREPARE

    動的SQLを準備する。

    DEALLOCATE PREPARE

    準備した動的SQLを解放する。

    EXECUTE

    動的SQLを実行する。

  4. 埋め込みSQL開始宣言は,埋め込みSQL宣言節の始まりを表し,埋め込みSQL終了宣言は,埋め込みSQL宣言節の終わりを表す。埋め込みSQL宣言節については「9.4 データ部(埋め込みSQL宣言節)(データベースアクセス機能)」を参照のこと。

  5. 埋め込みSQL開始宣言および埋め込みSQL終了宣言以外の埋め込みSQL文は,手続き部の文が書けるところにならばどこにでも書ける。手続き部に書けるSQL文については,「9.6 手続き部(宣言系)(データベースアクセス機能)」,「9.7 手続き部(制御系)(データベースアクセス機能)」および「9.8 手続き部(操作系)(データベースアクセス機能)」を参照のこと。

  6. 語 EXEC,SQLおよびEND-EXECの前後は空白で区切られていなければならない。ただし,END-EXECとそれに接続する分離符の終止符との間には空白はなくてもよい。