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.