Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
SQL 記述子領域内の変数を記述したり、データを記述子領域に格納したりします。
SET DESCRIPTOR descriptor-name { COUNT = { integer | hostvar } | VALUE { integer | hostvar } assignment, ... }
assignment : { TYPE | SCALE | PRECISION | LENGTH | INDICATOR } = { integer | hostvar } | DATA = hostvar
descriptor-name : identifier
SET DESCRIPTOR 文は、記述子領域内の変数を記述したり、データを記述子領域に格納するために使用します。
SET...COUNT 文を使用すると、記述子領域内の記述される変数の数を設定できます。カウントの対象となる変数の数は、記述子領域を割り付けたときに指定した変数の数を超えることはできません。
値 { integer | hostvar } は、代入の対象となる記述子領域内の変数を指定します。
SET...DATA の実行中に型チェックが実行され、記述子領域の変数とホスト変数のデータ型が同じかどうか確認されます。LONG VARCHAR と LONG BINARY は SET DESCRIPTOR...DATA ではサポートされていません。
エラーが発生すると、エラーコードが SQLCA に返されます。
なし
SQL/2008 SET DESCRIPTOR は、オプションの SQL/2008 言語機能 B031、"Basic dynamic SQL" の一部です。
次の例は、sqlda の位置 col_num にあるカラムの型を設定します。
void set_type( SQLDA *sqlda, int col_num, int new_type ) { EXEC SQL BEGIN DECLARE SECTION; INT new_type1 = new_type; INT col = col_num; EXEC SQL END DECLARE SECTION; EXEC SQL SET DESCRIPTOR sqlda VALUE :col TYPE = :new_type1; }