Cara Mengubah Batasan


91

SQL Cara Mengubah Batasan

Di bawah ini adalah 1 kendala saya

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

Saya ingin menambahkan

ON DELETE CASCADE

kendala di atas.

Bagaimana cara saya mengubah ACTIVEPROG_FKEY1 kendala yang ada dan menambahkan

ON DELETE CASCADE

untuk membatasi ACTIVEPROG_FKEY1

Pertimbangkan ACTIVEPROG_FKEY1 ada di Tabel ACTIVEPROG

Jawaban:


146

Anda tidak dapat mengubah batasan tetapi Anda dapat menghapusnya dan membuat ulang.

Lihat ini

ALTER TABLE your_table DROP CONSTRAINT ACTIVEPROG_FKEY1;

dan kemudian membuatnya kembali dengan ON DELETE CASCADEseperti ini

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

berharap bantuan ini


Anda dapat mengaktifkan / menonaktifkan batasan.
Florin Ghita

1
@FlorinGhita, ya kita dapat mengaktifkan / menonaktifkan ............... Terkadang berguna untuk menonaktifkan satu atau lebih batasan pada tabel, melakukan sesuatu yang signifikan, dan kemudian mengaktifkan kembali ) setelah Anda selesai. Ini paling sering dilakukan untuk meningkatkan kinerja selama operasi beban massal.
andy

12

Tidak. Kami tidak dapat mengubah batasan, hanya yang dapat kami lakukan adalah menjatuhkan dan membuatnya kembali

ALTER TABLE [TABLENAME] DROP CONSTRAINT [CONSTRAINTNAME]

Batasan Kunci Asing

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

Batasan Kunci Utama

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

6
Memang benar apa yang diinginkan OP tidak mungkin, tetapi mengapa Anda memposting link ke situs SQL Server untuk pertanyaan yang diberi tag Oracle?
Frank Schmitt
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.