0

継承した小さなデータベースで SQL を独学しています。Update()で遊んでいるうちに、

update a
from sls_ord_fact a, sls_ord_dim b
set cust_acct_key = b.cust_acct_key
where a.sls_ord_key = b.sls_ord_key
and a.sls_ord_key <> 0
and b.cust_acct_key <> 0
and a.cust_acct_key <> b.cust_acct_key;

私はこのエラーを引き起こしました:Duplicate row error in SLS_ORD_FACT

重複レコードを特定するにはどうすればよいですか??? データがよくわからない……。

4

1 に答える 1

0

SLS_ORD_FACTテーブルの主キー (おそらく)を設定しようとしているように見えますが、設定しようとしcust_acct_keyている新しい値は既にテーブルに存在しています。主キーは一意でなければならないため、これによりエラーが発生します。重複キーはb実際には でb.cust_acct_keyあり、これはおそらく への外部キーSLS_ORD_FACT.cust_acct_keyです。

于 2013-09-12T17:20:19.823 に答える