Jika Anda sudah memiliki CHECK
kendala di SQL Server, tetapi Anda perlu memodifikasinya, Anda harus menghapusnya dan membuatnya kembali. Tidak ada ALTER CONSTRAINT
pernyataan atau yang serupa.
Jadi untuk “memodifikasi” batasan yang ada:
- Hilangkan batasan menggunakan
ALTER TABLE
denganDROP CONSTRAINT
. - Buat batasan baru menggunakan
ALTER TABLE
denganADD CONSTRAINT
.
Contoh
Berikut adalah contoh untuk menghapus dan membuat ulang CHECK
kendala.
ALTER TABLE ConstraintTest DROP CONSTRAINT chkTeamSize; ALTER TABLE ConstraintTest ADD CONSTRAINT chkTeamSize CHECK (TeamSize >= 5 AND TeamSize <= 20) ;
Seperti yang disebutkan, Anda tidak dapat mengubahnya – Anda harus menghapusnya dan membuatnya dengan definisi baru.
Dalam hal ini, batasannya disebut chkTeamSize dan saya cukup membuangnya dan membuatnya dengan definisi baru.
Catatan tentang Pemesanan
Perhatikan bahwa CHECK
batasan divalidasi dalam urutan pembuatannya, jadi menjatuhkan/membuat ulang batasan dapat menyebabkannya divalidasi dalam urutan yang berbeda dari sebelumnya. Hal ini dapat mengakibatkan kesalahan lain yang ditangkap sebelum batasan ini, ketika sebelumnya ditangkap setelahnya.