Membuat batasan pemeriksaan
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Anda dapat membuat batasan pemeriksaan dalam tabel untuk menentukan nilai data yang dapat diterima di satu atau beberapa kolom di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL. Untuk informasi selengkapnya tentang menambahkan batasan kolom, lihat ALTER TABLE column_constraint.
Untuk informasi selengkapnya, lihat Batasan unik dan periksa batasan.
Keterangan
Untuk mengkueri batasan pemeriksaan yang ada, gunakan tampilan katalog sistem sys.check_constraints .
Izin
ALTER
Memerlukan izin pada tabel.
Menggunakan SQL Server Management Studio
Di Object Explorer, perluas tabel yang ingin Anda tambahkan batasan pemeriksaannya, klik kanan Batasan dan pilih Batasan Baru.
Dalam kotak dialog Centang Batasan , pilih di bidang Ekspresi lalu pilih elipsis (...).
Dalam kotak dialog Centang Ekspresi Batasan, ketik ekspresi SQL untuk batasan pemeriksaan. Misalnya, untuk membatasi entri dalam
SellEndDate
kolomProduct
tabel ke nilai yang lebih besar dari atau sama dengan tanggal diSellStartDate
kolom, atau adalahNULL
nilai, ketik:SellEndDate >= SellStartDate
Atau, untuk mewajibkan
zip
entri dalam kolom menjadi lima digit, ketik:zip LIKE '[0-9][0-9][0-9][0-9][0-9]'
Catatan
Pastikan untuk mengapit nilai batasan non-numerik dalam tanda kutip tunggal (
'
).Pilih OK.
Dalam kategori Identitas, Anda dapat mengubah nama batasan pemeriksaan dan menambahkan deskripsi (properti yang diperluas) untuk batasan.
Dalam kategori Desainer Tabel, Anda bisa mengatur kapan batasan diberlakukan.
Perbuatan Pilih Yes
untuk opsi berikutMenguji batasan pada data yang ada sebelum Anda membuat batasan Periksa data yang ada saat pembuatan atau pengaktifan Terapkan batasan setiap kali operasi replikasi terjadi pada tabel ini Terapkan Untuk Replikasi Menerapkan batasan setiap kali baris tabel ini disisipkan atau diperbarui Terapkan untuk INSERT dan UPDAT Pilih Tutup.
Menggunakan Transact-SQL
Di Object Explorer, sambungkan ke instans Mesin Database.
Pada bilah Standar, pilih Kueri Baru.
Salin dan tempel contoh berikut ke dalam jendela kueri dan pilih Jalankan.
Pertama, buat batasan.
ALTER TABLE dbo.DocExc ADD ColumnD INT NULL CONSTRAINT CHK_ColumnD_DocExc CHECK ( ColumnD > 10 AND ColumnD < 50 ); GO
Untuk menguji batasan, pertama-tama tambahkan nilai yang melewati batasan pemeriksaan.
INSERT INTO dbo.DocExc (ColumnD) VALUES (49);
Selanjutnya, coba tambahkan nilai yang gagal memeriksa batasan.
INSERT INTO dbo.DocExc (ColumnD) VALUES (55);