Teradata Database メッセージ 7547 - 17.10 - 7547 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - データベース メッセージ

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1096-171K-JPN
Language
日本語 (日本)
メッセージ
Target row updated by multiple source rows.
説明
現在のシステムでは、複数のソース行を使用するターゲット行の更新はサポートされません。Merge Updateの実装以前は、結合更新はMerge DeleteとMerge Insertの2段階で処理されていました。そのため、すべての行を削除してから、最終的には複製行を生成して挿入していました。その事例では、別のエラーが返されます。このタイプのMerge Updates(結合更新)は許可されません。テーブルT1(a1,b1,c1)、T2(a2,b2,c2)の場合は、update t1 from t2 set c1=c2 where a1=b2 and b2 \< 10;で更新することを検討します。この条件を満たす行が複数ある場合、この更新でどの行を使用する必要があるのかは分かりません。この事例では、上記のエラー メッセージが返されます。UDTインデックス作成機能の導入により、ハッシュ インデックスを持つテーブルに対して更新操作が実行されて、次の条件に該当する場合にもこのエラーが返されます。a) ハッシュ インデックスが1つまたは複数の列で定義されていて、その列のいずれかが構造化UDT列である。b) 構造化UDT列に対して定義されている順序付け関数がNULLを返した。
発生源
AMPサブシステム
対象ユーザー
ユーザー
注意
なし
対処法
更新前に、ソース行が固有であることを確認します。ハッシュ インデックスを持つテーブルで更新操作が実行され、ハッシュ インデックスに構造化 udt 列が含まれている場合は、順序付け関数が null を返さないことを確認します。