準備された動的SQL文を実行します。
ANSI準拠
動的SQL形式のEXECUTEは、ANSI/ISO SQL:2011に準拠しています。
必要な権限
必要な権限は、SQL文およびアクセス対象のテーブルによって決まります。
呼び出し
実行可能形式。
動的SQL文。
埋め込みSQLのみ。
構文
EXECUTE statement_name [ USING using_spec [,...] | USING DESCRIPTOR [:] descriptor_area ]
構文要素
- using_spec
[:] host_variable_name [ [INDICATOR] :host_indicator_name ]
- statement_name
- 前準備された文に関連付けた名前。
- host_variable_name
- 準備された文の入力データとして使用される変数。
- host_indicator_name
- 標識変数。
- descriptor_area
- SQL記述領域(SQLDA)
使用上の注意
- 一般ルール
アプリケーションにSQLDAが定義されていなければなりません。
statement_nameで指定される文は、同じトランザクション内ですでに準備が完了していなければなりません。
EXECUTEは、ストアド プロシージャと同時に使用することはできません。- データを返す文
- マクロ
- 複文リクエスト
これらの場合は、動的カーソルを宣言し、アプリケーション プログラムで適切なFETCH文を使用してその結果にアクセスする必要があります。
EXECUTEそのものを動的SQL文として実行することはできません。
- USING句のルール
- USING句は、statement_nameによって指定されるSQL文への入力として使用される変数を識別します。
- EXECUTE文に先立って宣言され、入力変数として使用される指定されたホスト変数名は、有効なクライアント言語の変数でなければなりません。クライアント構造を入力変数の識別に使用することができます。
指定する変数の数は、識別される文におけるパラメータ マーカー(疑問符、?)の数と同じでなければなりません。n番目の変数と、n番目のパラメータ マーカーが対応している必要があります。
- 記述子の名前は、アプリケーションによってすでに定義されている入力SQLDA構造を識別します。このSQLDAには、入力変数セットに関する全ての必要な情報が含まれています。
SQLDAのSQLDフィールドで指定される変数の数は、識別される文のパラメータ マーカー(疑問符、?)と同じでなければなりません。SQLDAによって記述されるn番目の変数はn番目のパラメータ マーカーに対応していなければなりません。
関連情報
- DESCRIBE
- EXECUTE IMMEDIATE
- PREPARE (動的)
- descriptor_areaについては、<Teradata® Preprocessor2 for Embedded SQLプログラマ ガイド、B035-2446>を参照してください。
- FETCH文については、FETCH (埋め込みSQL形式)を参照してください。