PRODUCTテーブルの外部キーとして、ON DELETE
を指定しないでください アクションの場合、デフォルトの動作はRESTRICT
になります 。この制約をSET NULL
に更新できないため 、おそらく自分でNULLに設定する必要があります。
まず、SUPPLIER_NAME外部キーがNULL値を受け入れることができるようにテーブルを変更します。
次に、サプライヤが米国にあるPRODUCTSを更新し、SUPPLIER_NAMEをNULLに設定します。このようなもの:
update PRODUCT set SUPPLIER_NAME = NULL where SUPPLIER_NAME IN (
select SUPPLIER_NAME from SUPPLIER where COUNTRY = 'USA');
そして最後に、COUNTRY='USA'のサプライヤーを削除できます。