BIND_VARIABLE ステートメントは、パラメータのバインディングに使用されます。呼び出し毎に1つのパラメータに1つの値をバインドする必要があり、複数のパラメータに対しては複数回の呼び出しが必要です。
DBMS_SQLが解析するステートメントでは、パラメータには名前が付いており、BIND_VARIABLE操作も名前を通じてバインドします。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
DBMS_SQL.BIND_VARIABLE(cursor_id IN INTEGER,
name IN VARCHAR2,
value IN NUMBER);
DBMS_SQL.BIND_VARIABLE(cursor_id IN INTEGER,
name IN VARCHAR2,
value IN VARCHAR2);
パラメータの説明
パラメータ |
説明 |
|---|---|
| cursor_id | 値をバインドするカーソルのID番号。 |
| name | 宣言における変数の名前。 |
| value | カーソル内の変数にバインドする値。 |
使用方法
変数が IN、IN/OUT、または IN コレクション変数の場合、指定されたバインド値は変数の型に有効でなければなりません。OUT 変数のバインド値は無視されます。
SQLステートメント内のバインド変数は名前で識別されます。値をバインド変数にバインドする際、ステートメント内でその値を識別する文字列には、プレフィックスとしてコロンが含まれている必要があります。例:
SELECT name FROM friend WHERE age > :X;
上記の例で可能なバインド呼び出しは次のとおりです:
BIND_VARIABLE(cursor_name, ':X', 25);
または
BIND_VARIABLE (cursor_name, 'X', 25);