คุณมีสองตัวเลือกจริงที่นี่คุณสามารถปิดการใช้งานข้อ จำกัด บนโต๊ะ นี่ไม่ใช่ความคิดที่ดีเพราะคุณสามารถจบลงด้วยเงื่อนไขข้อมูลที่ไม่ดีถ้าคุณยุ่งกับข้อมูลที่เกี่ยวข้องกับตารางอื่น ๆ แต่ไม่ทราบสคีมาของคุณอย่างเต็มที่และอาจเหมาะสมกับวัตถุประสงค์ของคุณ:
ALTER TABLE [workdemo.no].[dbo].[M06Persons] NOCHECK CONSTRAINT [FK_M02ArticlePersons_M06Persons]
อย่าลืมเปิดข้อ จำกัด อีกครั้งหลังจากลบด้วย
ALTER TABLE [workdemo.no].[dbo].[M06Persons] WITH CHECK CHECK CONSTRAINT [FK_M02ArticlePersons_M06Persons]
ตัวเลือกที่สองคือการปล่อยและเพิ่มข้อ จำกัด ด้วยตัวเลือก ON DELETE CASCADE โดยใช้:
ALTER TABLE [workdemo.no].[dbo].[M06Persons] DROP CONSTRAINT [FK_M02ArticlePersons_M06Persons]
ALTER TABLE [workdemo.no].[dbo].[M06Persons] WITH NOCHECK ADD CONSTRAINT [FK_M02ArticlePersons_M06Persons] FOREIGN KEY(M06PersonId)
REFERENCES <parent table here> (<parent column here>)
ON DELETE CASCADE
ตามชื่อ FK ของคุณดูเหมือนว่าตารางหลักของคุณคือ M02ArticlePersons และคอลัมน์หลักคือ M06Persons
หากคุณไม่ได้เขียนสคีมานี้โปรดลองพิจารณาสาเหตุที่อาจมีข้อ จำกัด และเข้าใจว่าการละเมิดในลักษณะนี้อาจมีผลข้างเคียงโดยไม่ได้ตั้งใจ