| Oracle9i Heterogeneous Connectivity管理者ガイド リリース2(9.2) 部品番号B13816-01 |
|
パススルーSQLに対応したDBMS_HS_PASSTHROUGH DBMS_HS_PASSTHROUGHパッケージには、異機種間サービスのパススルーSQLに対応したプロシージャおよびファンクションが含まれます。 この付録では、各プロシージャおよびファンクションについて説明します。
この付録の内容は、次のとおりです。
この項では、DBMS_HS_PASSTHROUGHパッケージのサブプログラムについて説明します。
このプロシージャは、IN変数をPL/SQLプログラム変数に位置的にバインドします。
DBMS_HS_PASSTHROUGH.BIND_VARIABLE ( c IN BINARY_INTEGER NOT NULL, pos IN BINARY_INTEGER NOT NULL, val IN dty);
ここでは、dtyは次のいずれかのデータ型となります。
DATE
INTERVAL YEAR TO MONTH
INTERVAL DAY TO SECOND
NUMBER
TIMESTAMP
TIMESTAMP WITH TIMEZONE
TIMESTAMP WITH LOCAL TIMEZONE
VARCHAR2
| パラメータ | 説明 |
|---|---|
|
|
パススルーSQL文に関連付けられているカーソル。 このカーソルは、 |
|
|
SQL文におけるバインド変数の位置。 1から始まります。 |
|
|
バインド変数に渡される必要がある値。 |
| 例外 | 説明 |
|---|---|
|
|
渡されたカーソルが無効です。 |
|
|
プロシージャが正しい順序で実行されていません。 最初にカーソルをオープンし、SQL文を解析しましたか? |
|
|
バインド変数の位置が範囲外です。 |
|
|
|
定義済純正レベル: WNDS、RNDS
このプロシージャは、NVARCHAR2型のIN変数をバインドします。
DBMS_HS_PASSTHROUGH.BIND_VARIABLE_NCHAR ( c IN BINARY_INTEGER NOT NULL, pos IN BINARY_INTEGER NOT NULL, val IN NVARCHAR2);
| パラメータ | 説明 |
|---|---|
|
|
パススルーSQL文に関連付けられているカーソル。 カーソルは、 |
|
|
SQL文におけるバインド変数の位置。 1から始まります。 |
|
|
バインド変数に渡される必要がある値。 |
| 例外 | 説明 |
|---|---|
|
|
渡されたカーソルが無効です。 |
|
|
プロシージャが正しい順序で実行されていません。 最初にカーソルをオープンし、SQL文を解析しましたか? |
|
|
バインド変数の位置が範囲外です。 |
|
|
|
定義済純正レベル: WNDS、RNDS
このプロシージャは、RAW型のIN変数をバインドします。
DBMS_HS_PASSTHROUGH.BIND_VARIABLE_RAW ( c IN BINARY_INTEGER NOT NULL, pos IN BINARY_INTEGER NOT NULL, val IN RAW);
| パラメータ | 説明 |
|---|---|
|
|
パススルーSQL文に関連付けられているカーソル。 カーソルは、 |
|
|
SQL文におけるバインド変数の位置。 1から始まります。 |
|
|
バインド変数に渡される必要がある値。 |
| 例外 | 説明 |
|---|---|
|
|
渡されたカーソルが無効です。 |
|
|
プロシージャが正しい順序で実行されていません。 最初にカーソルをオープンし、SQL文を解析しましたか? |
|
|
バインド変数の位置が範囲外です。 |
|
|
|
定義済純正レベル: WNDS、RNDS
BIND_OUT_VARIABLEプロシージャ このプロシージャは、OUT変数をPL/SQLプログラム変数にバインドします。
DBMS_HS_PASSTHROUGH.BIND_OUT_VARIABLE ( c IN BINARY_INTEGER NOT NULL, pos IN BINARY_INTEGER NOT NULL, val OUT dty);
ここでは、dtyは次のいずれかになります。
DATE
INTERVAL YEAR TO MONTH
INTERVAL DAY TO SECOND
NUMBER
TIMESTAMP
TIMESTAMP WITH TIMEZONE
TIMESTAMP WITH LOCAL TIMEZONE
VARCHAR2
| 例外 | 説明 |
|---|---|
|
|
渡されたカーソルが無効です。 |
|
|
プロシージャが正しい順序で実行されていません。 最初にカーソルをオープンし、SQL文を解析しましたか? |
|
|
バインド変数の位置が範囲外です。 |
|
|
|
定義済純正レベル: WNDS、RNDS
このプロシージャは、NVARCHAR2データ型のOUT変数をPL/SQLプログラム変数にバインドします。
DBMS_HS_PASSTHROUGH.BIND_OUT_VARIABLE ( c IN BINARY_INTEGER NOT NULL, pos IN BINARY_INTEGER NOT NULL, val OUT NVARCHAR2);
| 例外 | 説明 |
|---|---|
|
|
渡されたカーソルが無効です。 |
|
|
プロシージャが正しい順序で実行されていません。 最初にカーソルをオープンし、SQL文を解析しましたか? |
|
|
バインド変数の位置が範囲外です。 |
|
|
|
定義済プラグマ: WNDS、RNDS
このプロシージャは、RAWデータ型のOUT変数をPL/SQLプログラム変数にバインドします。
DBMS_HS_PASSTHROUGH.BIND_OUT_VARIABLE ( c IN BINARY_INTEGER NOT NULL, pos IN BINARY_INTEGER NOT NULL, val OUT RAW);
| 例外 | 説明 |
|---|---|
|
|
渡されたカーソルが無効です。 |
|
|
プロシージャが正しい順序で実行されていません。 最初にカーソルをオープンし、SQL文を解析しましたか? |
|
|
バインド変数の位置が範囲外です。 |
|
|
|
定義済プラグマ: WNDS、RNDS
このプロシージャは、IN OUTバインド変数をバインドします。
DBMS_HS_PASSTHROUGH.BIND_INOUT_VARIABLE ( c IN BINARY_INTEGER NOT NULL, pos IN BINARY_INTEGER NOT NULL, val IN OUT <dty>);
ここでは、dtyは次のいずれかになります。
DATE
INTERVAL YEAR TO MONTH
INTERVAL DAY TO SECOND
NUMBER
TIMESTAMP
TIMESTAMP WITH TIMEZONE
TIMESTAMP WITH LOCAL TIMEZONE
VARCHAR2
| パラメータ | 説明 |
|---|---|
|
|
パススルーSQL文に関連付けられているカーソル。 カーソルは、 |
|
|
SQL文におけるバインド変数の位置。 1から始まります。 |
|
|
この値は次の2つの目的に使用されます。 |
| 例外 | 説明 |
|---|---|
|
|
渡されたカーソルが無効です。 |
|
|
プロシージャが正しい順序で実行されていません。 最初にカーソルをオープンし、SQL文を解析しましたか? |
|
|
バインド変数の位置が範囲外です。 |
|
|
|
定義済純正レベル: WNDS、RNDS
このプロシージャは、NVARCHAR2データ型のIN OUTバインド変数をバインドします。
DBMS_HS_PASSTHROUGH.BIND_INOUT_VARIABLE_NCHAR ( c IN BINARY_INTEGER NOT NULL, pos IN BINARY_INTEGER NOT NULL, val IN OUT NVARCHAR2);
| パラメータ | 説明 |
|---|---|
|
|
パススルーSQL文に関連付けられているカーソル。 カーソルは、 |
|
|
SQL文におけるバインド変数の位置。 1から始まります。 |
|
|
この値は次の2つの目的に使用されます。 |
| 例外 | 説明 |
|---|---|
|
|
渡されたカーソル無効です。 |
|
|
プロシージャが正しい順序で実行されていません。 最初にカーソルをオープンし、SQL文を解析しましたか? |
|
|
バインド変数の位置が範囲外です。 |
|
|
|
定義済プラグマ: WNDS、RNDS
このプロシージャは、RAWデータ型のIN OUTバインド変数をバインドします。
DBMS_HS_PASSTHROUGH.BIND_INOUT_VARIABLE_RAW ( c IN BINARY_INTEGER NOT NULL, pos IN BINARY_INTEGER NOT NULL, val IN OUT RAW);
| パラメータ | 説明 |
|---|---|
|
|
パススルーSQL文に関連付けられているカーソル。 カーソルは、 |
|
|
SQL文におけるバインド変数の位置。 1から始まります。 |
|
|
この値は次の2つの目的に使用されます。 |
| 例外 | 説明 |
|---|---|
|
|
渡されたカーソルが無効です。 |
|
|
プロシージャが正しい順序で実行されていません。 最初にカーソルをオープンし、SQL文を解析しましたか? |
|
|
バインド変数の位置が範囲外です。 |
|
|
|
定義済プラグマ: WNDS、RNDS
このファンクションは、Oracle以外のシステムでSQL文が実行された後にカーソルをクローズし、関連するメモリーを解放します。 カーソルがオープンされていない場合、この操作は機能しません。
DBMS_HS_PASSTHROUGH.CLOSE_CURSOR ( c IN BINARY_INTEGER NOT NULL);
| パラメータ | 説明 |
|---|---|
|
c |
解放するカーソル。 |
| 例外 | 説明 |
|---|---|
|
ORA-28555 |
|
定義済純正レベル: WNDS、RNDS
このファンクションは、SQL文を即時実行します。 SELECTを除く有効なSQL文はすべて即時実行できますが、SQL文にはバインド変数を含めることはできません。 SQL文はVARCHAR2として引数で渡されます。 内部的には、OPEN_CURSOR、PARSE、EXECUTE_NON_QUERY、CLOSE_CURSORというPASSTHROUGH_SQLプロトコル順序を使用してSQL文が実行されます。
EXECUTE_IMMEDIATE ( s IN VARCHAR2 NOT NULL ) RETURN BINARY_INTEGER);
| パラメータ | 説明 |
|---|---|
|
|
即時実行される文の |
SQL文の実行により影響される行数。
| 例外 | 説明 |
|---|---|
|
|
オープン・カーソルが最大数です。 |
|
|
SQL文が無効です。 |
|
|
|
定義済純正レベル: NONE
このファンクションは、SELECT文以外のSQL文を実行します。 SQL文の実行前に、カーソルがオープンされ、SQL文が解析される必要があります。
DBMS_HS_PASSTHROUGH.EXECUTE_NON_QUERY ( c IN BINARY_INTEGER NOT NULL) RETURN BINARY_INTEGER);
| パラメータ | 説明 |
|---|---|
|
|
パススルーSQL文に関連付けられているカーソル。 カーソルは、 |
Oracle以外のシステムでSQL文により影響される行数。
| 例外 | 説明 |
|---|---|
|
|
渡されたカーソルが無効です。 |
|
|
|
|
|
|
定義済純正レベル: NONE
このファンクションは、結果セットから行をフェッチします。 結果セットはSQLのSELECT文で定義されます。
行をフェッチする前に、カーソルがオープンされ、SQL文が解析される必要があります。 フェッチする行がなくなると、ファンクションにより0(ゼロ)が戻されます。 0(ゼロ)が戻された後、次の場合には「データが見つかりません。」という例外が発生します。
DBMS_HS_PASSTHROUGH.FETCH_ROW ( c IN BINARY_INTEGER NOT NULL [,first IN BOOLEAN]) RETURN BINARY_INTEGER);
| パラメータ | 説明 |
|---|---|
|
|
パススルーSQL文に関連付けられているカーソル。 カーソルは、 |
|
|
|
フェッチする行数が戻されます。 このファンクションでは、最終行がすでにフェッチされている場合、0(ゼロ)が戻されます。
| 例外 | 説明 |
|---|---|
|
|
渡されたカーソルが無効です。 |
|
|
プロシージャが正しい順序で実行されていません。 最初にカーソルをオープンし、SQL文を解析しましたか? |
|
|
|
定義済純正レベル: WNDS
このプロシージャには次の2つの目的があります。
DBMS_HS_PASSTHROUGH.GET_VALUE ( c IN BINARY_INTEGER NOT NULL, pos IN BINARY_INTEGER NOT NULL, val OUT <dty>);
ここでは、dtyは次のいずれかになります。
DATE
INTERVAL YEAR TO MONTH
INTERVAL DAY TO SECOND
NUMBER
TIMESTAMP
TIMESTAMP WITH TIMEZONE
TIMESTAMP WITH LOCAL TIMEZONE
VARCHAR2
RAWデータ型の値の取得については、「GET_VALUE_RAW」を参照してください。
| パラメータ | 説明 |
|---|---|
|
|
パススルーSQL文に関連付けられているカーソル。 カーソルは、 |
|
|
SQL文におけるバインド変数またはSELECT構文のリスト項目の位置。 1から始まります。 |
|
|
|
定義済純正レベル: WNDS
このプロシージャは、NVARCHAR2データ型に対して動作するもので、次の2つの目的があります。
DBMS_HS_PASSTHROUGH.GET_VALUE_NCHAR ( c IN BINARY_INTEGER NOT NULL, pos IN BINARY_INTEGER NOT NULL, val OUT NVARCHAR2);
| パラメータ | 説明 |
|---|---|
|
|
パススルーSQL文に関連付けられているカーソル。 カーソルは、 |
|
|
SQL文におけるバインド変数またはSELECT構文のリスト項目の位置。 1から始まります。 |
|
|
|
定義済純正レベル: WNDS
このプロシージャは、RAWデータ型に対して動作するもので、次の2つの目的があります。
DBMS_HS_PASSTHROUGH.GET_VALUE_RAW ( c IN BINARY_INTEGER NOT NULL, pos IN BINARY_INTEGER NOT NULL, val OUT RAW);
| パラメータ | 説明 |
|---|---|
|
|
パススルーSQL文に関連付けられているカーソル。 カーソルは、 |
|
|
SQL文におけるバインド変数またはSELECT構文のリスト項目の位置。 1から始まります。 |
|
|
|
定義済純正レベル: WNDS
このファンクションは、Oracle以外のシステムでパススルーSQL文を実行するためのカーソルをオープンします。 このファンクションはすべてのタイプのSQL文に対してコールされる必要があります。このファンクションで戻されたカーソルは、後続のコールで使用されます。 このコールではメモリーが割り当てられます。 関連付けられたメモリーを割当て解除するには、DBMS_HS_PASSTHROUGH.CLOSE_CURSORプロシージャをコールします。
DBMS_HS_PASSTHROUGH.OPEN_CURSOR () RETURN BINARY_INTEGER;
後続のプロシージャおよびファンクション・コールで使用されるカーソル。
| 例外 | 説明 |
|---|---|
|
|
オープン・カーソルの最大数を超えています。 異機種間サービスの |
定義済純正レベル: WNDS、RNDS
このプロシージャは、Oracle以外のシステムでSQL文を解析します。
DBMS_HS_PASSTHROUGH.GET_VALUE_RAW ( c IN BINARY_INTEGER NOT NULL, stmt IN VARCHAR2 NOT NULL);
| パラメータ | 説明 |
|---|---|
|
|
パススルーSQL文に関連付けられているカーソル。 カーソルは |
|
|
解析する文。 |
| 例外 | 説明 |
|---|---|
|
|
渡されたカーソルが無効です。 |
|
|
SQL文が無効です。 |
|
|
|
定義済純正レベル: WNDS、RNDS
|
|
![]() Copyright © 2001, 2002 Oracle Corporation. All Rights Reserved. |
|