16.20 - EXECUTE (動的SQL形式) - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQL ストアド プロシージャおよび埋め込みSQL

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1148-162K-JPN

目的

準備された動的SQL文を実行します。

呼び出し

実行可能形式。

動的SQL文。

埋め込みSQLのみ。

構文



statement_name
前準備された文に関連付けた名前。
host_variable_name
準備された文の入力データとして使用される変数。
名前の前にコロンを付けるかどうかは任意指定です。
host_indicator_name
標識変数。
名前の前のコロンは必須です。
descriptor_area
SQL記述領域(SQLDA)
SQLDA構造がポインタとして宣言されている場合、descriptor_areaを名前またはポインタ参照(*sqldaname)としてCプログラムにコーディングできます。

ANSI準拠

動的SQL形式のEXECUTEは、ANSI/ISO SQL:2011に準拠しています。

許可

必要な権限は、SQL文およびアクセス対象のテーブルによって決まります。

一般ルール

アプリケーションにSQLDAが定義されていなければなりません。

statement_nameで指定される文は、同じトランザクション内ですでに準備が完了していなければなりません。

EXECUTEは、ストアド プロシージャと同時に使用することはできません。
  • データを返す文
  • マクロ
  • 複文リクエスト

これらの場合は、動的カーソルを宣言し、アプリケーション プログラムで適切なFETCH文を使用してその結果にアクセスする必要があります。

EXECUTEそのものを動的SQL文として実行することはできません。

USING句のルール

  • USING句は、statement_nameによって指定されるSQL文への入力として使用される変数を識別します。
  • EXECUTE文に先立って宣言され、入力変数として使用される指定されたホスト変数名は、有効なクライアント言語の変数でなければなりません。クライアント構造を入力変数の識別に使用することができます。

    指定する変数の数は、識別される文におけるパラメータ マーカー(疑問符、?)の数と同じでなければなりません。n番目の変数と、n番目のパラメータ マーカーが対応している必要があります。

  • 記述子の名前は、アプリケーションによってすでに定義されている入力SQLDA構造を識別します。このSQLDAには、入力変数セットに関する全ての必要な情報が含まれています。

    SQLDAのSQLDフィールドで指定される変数の数は、識別される文のパラメータ マーカー(疑問符、?)と同じでなければなりません。SQLDAによって記述されるn番目の変数はn番目のパラメータ マーカーに対応していなければなりません。

関連トピック

詳細は、以下の文を参照してください。