16.20 - EXECUTE IMMEDIATE - 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_string
文字列式としての動的SQL文のテキスト。
statement_string_variable
ホスト変数としての動的SQL文のテキスト。
先行コロン文字を使用するように強くお勧めします。

ANSI準拠

EXECUTE IMMEDIATEはANSI/ISO SQL:2011に準拠しています。

許可

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

ルール

列式またはホスト変数のどちらとして指定する場合も、動的SQL文の長さは32000文字まで可能です。

ホスト変数として指定する場合、statement_string_variableは、以下の表に示すクライアント プログラミング言語のSQL文字列のルールに従う必要があります。

言語 statement_stringの形式
COBOL 非数値リテラル
C
PL/I 文字列式

文字列変数がVARCHARである場合、文のテキストは最大64Kにできる

動的SQL文は単一のSQL文でなければならず、複文リクエストであってはなりません。

EXECUTE IMMEDIATEを実行することは、無名の動的で単一の文(マクロではなくデータを返さないもの)をPREPAREし、続いてEXECUTEするのと同じことです。

EXECUTE IMMEDIATEは、このような特殊ケースに備えて設計されています。

動的SQL文の説明:

  • 以下のどのSQL文にすることもできません。
  • データを返す文にすることはできません。
    ABORT EXECUTE IMMEDIATE
    BEGIN TRANSACTION FETCH
    CHECKPOINT LOGOFF
    CLOSE LOGON
    COMMIT OPEN
    CONNECT POSITION
    DESCRIBE PREPARE
    ECHO REWIND
    END TRANSACTION ROLLBACK
    EXECUTE  
  • Preprocessor2宣言にすることはできません。
  • ホスト変数参照を組み込むことはできません。
  • 動的に実行されるときに、動的カーソルを必要とします。

関連トピック

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