Bagikan melalui


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

  1. Di Object Explorer, perluas tabel yang ingin Anda tambahkan batasan pemeriksaannya, klik kanan Batasan dan pilih Batasan Baru.

  2. Dalam kotak dialog Centang Batasan , pilih di bidang Ekspresi lalu pilih elipsis (...).

  3. Dalam kotak dialog Centang Ekspresi Batasan, ketik ekspresi SQL untuk batasan pemeriksaan. Misalnya, untuk membatasi entri dalam SellEndDate kolom Product tabel ke nilai yang lebih besar dari atau sama dengan tanggal di SellStartDate kolom, atau adalah NULL 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 (').

  4. Pilih OK.

  5. Dalam kategori Identitas, Anda dapat mengubah nama batasan pemeriksaan dan menambahkan deskripsi (properti yang diperluas) untuk batasan.

  6. Dalam kategori Desainer Tabel, Anda bisa mengatur kapan batasan diberlakukan.

    Perbuatan Pilih Yes untuk opsi berikut
    Menguji 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
  7. Pilih Tutup.

Menggunakan Transact-SQL

  1. Di Object Explorer, sambungkan ke instans Mesin Database.

  2. Pada bilah Standar, pilih Kueri Baru.

  3. 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);