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

pengguna1777711
sumber

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

pengguna1819920
sumber
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,.....)
andy
sumber
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