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

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-01-28
dita:mapPath
ja-JP/tsh1596250259800.ditamap
dita:ditavalPath
ft:empty
dita:id
vza1585613049811
NMT
yes
Product Category
Software
Teradata Vantage
メッセージ
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 を返さないことを確認します。