SET QUERY_BAND構文ルール - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage
SET QUERY_BAND文の構文には、次のルールが適用されます。
  • name:valueのペアそれぞれは、セミコロン(;)文字で別のname:valueのぺアから分離する必要があります。

    別の分離記号は無効です。

  • 対象のSET QUERY_BANDリクエストに対するname:valueのペアの全体文字列は、単一引用符(')文字によって区切る必要があります。
  • name:valueのペアの値構成要素に「=(等号)」記号を含めることができますが、名前構成要素に含めることはできません。
  • ペアの名前は、クエリー バンド定義内で繰り返すことができません。
  • 次の位置に埋め込み文字がある場合、Teradata Databaseはそれを無関係と見なして、クエリー バンド文字列から削除します。
    • クエリー バンド文字列の先頭および末尾
    • 等号(=)文字の前後
    • セミコロン(;)文字の前後
  • パラメータ化されたリクエストは、SET QUERY_BAND … FOR TRANSACTIONに対するODBC APIとJDBC APIでだけサポートされます。

    クエリー バンドはODBCとJDBC APIによって実行されるパラメータ化リクエストに対する疑問符(?)パラメータ マーカーをサポートします。

    例えば、次のSQLプロシージャ定義は有効ではありません。これはパラメータ化値:qbinとしてクエリー バンドを渡すことを試行するからです。

    CREATE PROCEDURE setqbmsr(IN qbin VARCHAR(60))
     BEGIN
      SET QUERY_BAND = :qbin FOR TRANSACTION;
      INSERT INTO abc (1,2);
     END;