この文は、SQLDA 内の変数を記述したり、データを記述子領域に格納するために使用します。
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/2003 コア SQL に含まれない 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; } |
詳細例については、ALLOCATE DESCRIPTOR 文 [ESQL]を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |