วิธีการแก้ไขข้อ จำกัด


93

SQL วิธีการแก้ไขข้อ จำกัด

ด้านล่างนี้คือ 1 ในข้อ จำกัด ของฉัน

CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode),

ฉันต้องการเพิ่ม

ON DELETE CASCADE

ตามข้อ จำกัด ด้านบน

ฉันจะแก้ไขข้อ จำกัด ที่มีอยู่ ACTIVEPROG_FKEY1 และเพิ่มได้อย่างไร

ON DELETE CASCADE

เพื่อ จำกัด ACTIVEPROG_FKEY1

พิจารณา ACTIVEPROG_FKEY1 อยู่ที่ตาราง ACTIVEPROG

คำตอบ:


148

คุณไม่สามารถแก้ไขข้อ จำกัด ได้เลย แต่คุณสามารถวางแล้วสร้างใหม่ได้

ได้ดูสิ่งนี้

ALTER TABLE your_table DROP CONSTRAINT ACTIVEPROG_FKEY1;

แล้วสร้างขึ้นมาใหม่โดยใช้ON DELETE CASCADEแบบนี้

ALTER TABLE your_table
add CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode)
    ON DELETE CASCADE;

หวังว่าจะช่วยได้


คุณสามารถเปิด / ปิดข้อ จำกัด
Florin Ghita

1
@FlorinGhita ใช่เราสามารถเปิด / ปิดได้ ............... บางครั้งการปิดการใช้งานข้อ จำกัด บนโต๊ะอย่างน้อยหนึ่งข้อก็มีประโยชน์ทำสิ่งที่สำคัญแล้วเปิดใช้งานข้อ จำกัด อีกครั้ง (s ) หลังจากเสร็จสิ้น ส่วนใหญ่มักทำเพื่อปรับปรุงประสิทธิภาพในระหว่างการดำเนินการโหลดจำนวนมาก
andy

12

ไม่เราไม่สามารถแก้ไขข้อ จำกัด ได้สิ่งเดียวที่เราทำได้คือปล่อยวางและสร้างใหม่

ALTER TABLE [TABLENAME] DROP CONSTRAINT [CONSTRAINTNAME]

ข้อ จำกัด ของคีย์ต่างประเทศ

Alter Table Table1 Add Constraint [CONSTRAINTNAME] Foreign Key (Column) References Table2 (Column) On Update Cascade On Delete Cascade

ข้อ จำกัด ของคีย์หลัก

Alter Table Table add constraint [Primary Key] Primary key(Column1,Column2,.....)

6
เป็นความจริงที่สิ่งที่ OP ต้องการเป็นไปไม่ได้ แต่ทำไมคุณถึงโพสต์ลิงก์ไปยังไซต์ SQL Server สำหรับคำถามที่ติดแท็ก Oracle
Frank Schmitt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.