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 を返さないことを確認します。