DEFINE_COLUMN ストアドプロシージャは、指定されたカーソルから選択する列を定義するために使用され、SELECTカーソルと併用して使用します。
定義される列は、指定されたカーソルの宣言でのSELECTリスト内の相対的位置によって識別されます。COLUMN値の型によって、定義する列の型が決定されます。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
DBMS_SQL.DEFINE_COLUMN (c IN INTEGER,
position IN INTEGER,
column IN NUMBER);
DBMS_SQL.DEFINE_COLUMN (c IN INTEGER,
position IN INTEGER,
column IN VARCHAR2);
DBMS_SQL.DEFINE_COLUMN (c IN INTEGER,
position IN INTEGER,
column IN VARCHAR2,
column_size IN INTEGER);
DBMS_SQL.DEFINE_COLUMN(c in integer,
position in integer,
column in date);
DBMS_SQL.DEFINE_COLUMN(c in integer,
position in integer,
column in binary_float);
DBMS_SQL.DEFINE_COLUMN(c in integer,
position in integer,
column in binary_double);
DBMS_SQL.DEFINE_COLUMN(c in integer,
position in integer,
column in blob);
DBMS_SQL.DEFINE_COLUMN(c in integer,
position in integer,
column in raw,
column_size IN INTEGER);
パラメータの説明
パラメータ |
説明 |
|---|---|
| c | 選択する行のカーソルID番号を定義します。 |
| position | 定義された行内の列の相対的位置です。宣言内の最初の列の位置は1です。 |
| column | 定義される列の値です。この値の型によって、定義する列の型が決定されます。 |
| column_size | その列の最大値(バイト単位)。 |
使用方法
文字長セマンティクスを使用する場合、VARCHAR2型の列値が返すことができる最大バイト数の計算式は、column_size × 現在の文字セットの最大バイト数です。
例えば、column_size を10に指定すると、UTF8文字セットで文字長セマンティクスを使用する場合、それが表す文字数に関係なく、最大で30(10×3)バイトを返すことができることを意味します。