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)バイトを返すことができます。