適用対象
説明
OraParametersコレクションに配列パラメータを追加します。
使用方法
oraparamarray.AddTable Name, IOType, ServerType, ArraySize , ElementSize, ObjectName
引数
このメソッドの引数は、次のとおりです。
| 引数 | 説明 |
|---|---|
Name |
パラメータ・コレクションに追加するパラメータの名前。この名前は、パラメータを識別するため、および関連するSQL文とPL/SQL文内のプレースホルダとして使用されます。 |
IOType |
SQL文とPL/SQLブロック内でのパラメータの使用方法を指定する整数コード。 |
ServerType |
この配列パラメータがバインドされるOracle Databaseの型を指定します。指定できる値のリストは、「ServerTypeプロパティ」のOraParameterを参照してください。 |
ArraySize |
パラメータの配列要素の数を指定します。このパラメータは、最大バッファ長を計算するために使用されます。 |
ElementSize [オプション] |
要素のサイズを定義します。文字および文字列型の表(配列)パラメータにのみ有効です。ElementSizeの有効サイズは、VarTypeによって異なります。
|
ObjectName |
大/小文字が区別され、Object名を含む文字列。ServerTypeがORATYPE_OBJECT、ORATYPE_VARRAYまたはORATYPE_TABLEの場合にのみ、この指定が必要です。これは、PL/SQLでREFが使用される場合、ORATYPE_REFに必要です。 |
IOTypeの設定
IOTypeの設定内容は、次のとおりです。
| 定数 | 値 | 説明 |
|---|---|---|
ORAPARM_INPUT |
1 | 入力変数にのみ使用 |
ORAPARM_OUTPUT |
2 | 出力変数にのみ使用 |
ORAPARM_BOTH |
3 | 入力変数と出力変数の両方に使用 |
この値が正しいことを確認してください。パラメータのタイプがINであるストアド・プロシージャに対してORAPARM_BOTHなど、不正なオプションを指定すると、結果はエラーになります。ORAPARM_BOTHは、INおよびOUTのパラメータ専用です。INパラメータを持つストアド・プロシージャとOUTパラメータを持つ別のストアド・プロシージャに対してこれを使用するわけではありません。この場合は、2つのパラメータを使用します。このようなエラーが発生することはまれですが、パラメータに関するエラーが発生した場合は、IOTypeが正しいことを確認してください。
ServerType
有効な型は、ServerTypeプロパティを参照し、次の点に注意してください。
注意:
外部データ型のORATYPE_NUMBERには、1から38の桁精度を使用できます。
正の数の最大は、0.99999999999999999999 E + 38です。
正の数の最小は、0.1 E-38です。
負の数の最小は、-0.99999999999999999999 E + 38です。
負の数の最大は、0.1 E -38です。
ElementSize(オプション)
文字、文字列およびRAW型に有効です。ElementSizeの有効サイズは、VarTypeによって異なります。このサイズは、個々の文字列またはRAW配列要素の長さを表します。有効範囲は、次のとおりです。
| VarType | サイズ |
|---|---|
ORATYPE_VARCHAR2 |
有効範囲は、1から1999 |
ORATYPE_VARCHAR |
有効範囲は、1から1999 |
ORATYPE_STRING |
有効範囲は、1から1999 |
ORATYPE_CHAR |
有効範囲は、1から255 |
ORATYPE_CHARZ |
有効範囲は、1から255 |
ORATYPE_RAW_BIN |
有効範囲は、1から4000(備考を参照) |
備考
SQL文を再構築するかわりに、パラメータを使用して、配列を挿入、更新および削除するためのSQLバインド変数を表します。SQLバインド変数は、問合せを再解析することなくパラメータ値を変更できるため便利です。SQLバインド変数は、入力変数としてのみ使用します。
パラメータを使用して、PL/SQLバインド(IN/OUT)変数を表すこともできます。PL/SQLのバインド変数は、入力と出力両方の変数として使用できます。
Oracle Raw型の列にバインドする場合は、ServerType値にORATYPE_RAW_BINを使用します。値のPutまたはGetには、バイト配列を使用します。ORATYPE_RAW_BINバインド・バッファの最大許容サイズは、表の列にバインドする場合は2000バイト、ストアド・プロシージャにバインドする場合は32KBです。どの要素(ElementSize引数を参照)も、ストアド・プロシージャにバインドする場合で4000バイト、表の列にバインドする場合で2000バイトを超えることはできません。コード例は、ORACLE_BASE\\ORACLE_HOME\OO4O\VB\Rawディレクトリにあるサンプルを参照してください。
例
「例: PL/SQLでOraParamArraysを使用する方法」を参照してください。