SQL 解説書

RELEASE (接続)

このステートメントは、1 つまたは複数の接続を解放保留状態にします。

呼び出し

対話式 SQL 機能には外見上対話式の実行に見えるインターフェースが用意されている場合がありますが、 このステートメントはアプリケーション・プログラムに組み込むことだけが可能です。 これは、動的に準備できない実行可能ステートメントです。

許可

必要ありません。

構文

                            (1)
>>-RELEASE----+-server-name------+-----------------------------><
              +-host-variable----+
              +-CURRENT----------+
              |     .-SQL-.      |
              '-ALL-+-----+------'
 

注:

  1. CURRENT または ALL という名前のアプリケーション・サーバーは、 ホスト変数によってのみ指定することができます。

説明

server-name または host-variable
server-name (サーバー名) またはその server-name を含む host-variable (ホスト変数) によって、 アプリケーション・サーバーを指定します。

host-variable (ホスト変数) を指定する場合、 それは、長さ属性が 8 以下の文字ストリング変数でなければならず、標識変数を含めることはできません。 その host-variable に入っている server-name は、 左寄せする必要があり、引用符で区切ることはできません。

server-name は、 アプリケーション・サーバーを指定するデータベース別名である点に注意してください。 この名前は、アプリケーション・リクエスターのローカル・ディレクトリーにリストされている必要があります。

指定されたデータベース別名、またはホスト変数に含まれているデータベース別名は、 そのアプリケーション・プロセスの既存の接続を指定するものでなければなりません。 データベース別名が既存の接続を指定していない場合、エラー (SQLSTATE 08003) になります。

CURRENT
アプリケーション・プロセスの現行接続を指定します。 アプリケーション・プロセスは、接続された状態でなければなりません。 接続されていない場合、エラー (SQLSTATE 08003) になります。

ALL
アプリケーション・プロセスの既存のすべての接続を指定します。 この形式の RELEASE ステートメントの使用により、 アプリケーション・プロセスの既存のすべての接続が解放保留状態になります。 そのような場合、すべての接続は、次回のコミット操作の過程で破棄されることになります。 ステートメント実行時に接続が存在していない場合でも、エラーまたは警告のメッセージは出されません。 オプションのキーワードである SQL は、 DB2/MVS の SQL 構文との互換性を保つ目的で含まれています。

例 1: IBMSTHDB への SQL 接続は、アプリケーションではもはや必要でなくなりました。 以下のステートメントを実行すると、 次のコミット操作の過程でその接続が破棄されることになります。

   EXEC SQL RELEASE IBMSTHDB;

例 2: 現行の接続は、アプリケーションでもはや必要でなくなりました。 以下のステートメントを実行すると、 次のコミット操作の過程でその接続が破棄されることになります。

   EXEC SQL RELEASE CURRENT;

例 3: アプリケーションがコミット後にデータベースにアクセスする必要がなく、 実行はしばらく継続する場合、不必要に接続を続けないようにした方が得策です。 コミット時にすべての接続が破棄されるようにするために、 コミット前に次のステートメントを実行できます。

   EXEC SQL RELEASE ALL;


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]