EXECUTE IMMEDIATE - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/vqj1592443206677.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1148
Product Category
Software
Teradata Vantage

動的SQL文を準備して実行します。

ANSI準拠

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

必要な権限

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

呼び出し

実行可能形式。

動的SQL文。

埋め込みSQLのみ。

構文

EXECUTE IMMEDIATE statement_string

構文要素

statement_string
文字列式としての動的SQL文のテキスト。
statement_string_variable
ホスト変数としての動的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宣言にすることはできません。
  • ホスト変数参照を組み込むことはできません。
  • 動的に実行されるときに、動的カーソルを必要とします。