17.05 - 例: WHEN句でのSUBQUERYの無効な使用 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Release Date
2021年1月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-175K-JPN
Language
日本語 (日本)

以下の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.