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;