Karena kunci asing ke tabel PRODUCT Anda tidak menentukan ON DELETE
tindakan, itu akan memiliki perilaku default yaitu RESTRICT
. Karena Anda tidak dapat memperbarui batasan ini ke SET NULL
, Anda mungkin harus menyetelnya sendiri NULL.
Pertama, ubah tabel sehingga kunci asing SUPPLIER_NAME dapat menerima nilai NULL.
Kemudian, perbarui PRODUCTS yang pemasoknya berada di AS, setel SUPPLIER_NAME mereka ke NULL. Sesuatu seperti ini:
update PRODUCT set SUPPLIER_NAME = NULL where SUPPLIER_NAME IN (
select SUPPLIER_NAME from SUPPLIER where COUNTRY = 'USA');
Dan akhirnya Anda dapat menghapus PEMASOK dengan COUNTRY ='USA'.