例: WHEN句でのSUBQUERYの無効な使用 - Teradata Database - Teradata Vantage NewSQL Engine - 例: WHEN句でのSUBQUERYの無効な使用、CREATE REPLACE TRIGGER 構文の文。

Teradata Vantage™ SQLデータ定義言語 構文規則および例

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/wkf1512081455740.ditamap
dita:ditavalPath
ja-JP/wkf1512081455740.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

以下のWHEN句は無効です。検索条件のsubqueryが複数の値を返すので、TRUEまたはFALSEと評価できないからです。

     CREATE TRIGGER trigwhen4
       AFTER INSERT ON t1
       REFERENCING NEW AS NewRow
     FOR EACH ROW
       WHEN (t2.a > (
         SELECT b 
         FROM t2 
         WHERE t2.c < 5))
     ABORT;

複数の値をt1に挿入する場合、SELECTリクエストは"unknown"の応答を返します。WHEN条件はこれを評価できないので、トランザクションは失敗します。

     *** Failure 3669 More than one value was returned by a subquery.