SQL CHECK Nedir? Kullanımı Nasıldır? Örneklerle Anlatım
09.02.2021 15:18 7.628 Görüntülendi

SQL CHECK Nedir? Kullanımı Nasıldır? Örneklerle Anlatım

CHECK kısıtlaması,  tablo içindeki sütunları dolduracak verilerin değer aralığını kısıtlamak için kullanılır.

Tek bir sütunda bir CHECK kısıtlaması tanımlanırsa, bu sütun için yalnızca belirli değerlere izin verir.

Bir tabloda bir CHECK kısıtlaması tanımlanırsa, belirli sütunlardaki değerleri satırdaki diğer sütunlardaki değerlere göre sınırlayabilir.

CREATE TABLE üzerinde SQL CHECK

Aşağıdaki SQL, "Kişiler" tablosu oluşturulduğunda "Yaş" sütununda kişinin yaşının 13 veya daha büyük olmasını sağlayan KONTROL kısıtlaması oluşturur.

MySQL:

CREATE TABLE Kişiler (
    KisilerID int NOT NULL,
    Ad varchar(255) NOT NULL,
    Soyad varchar(255),
    Yas int,
    CHECK (Yas>=13)
);

SQL Sunucusu / Oracle / MS Erişimi:

CREATE TABLE Kisiler (
    KisilerID int NOT NULL,
    Ad varchar(255),
    Soyad varchar(255) NOT NULL,
    Yas int CHECK (Yas>=13)
);

CHECK kısıtlamasını isimlendirmek ve bunu birden çok sütunda bir KONTROL kısıtlaması olarak tanımlamak için aşağıdaki SQL komutu kullanılır.

CREATE TABLE Kisiler (
    KisilerID int NOT NULL,
    Ad varchar(255) ,
    Soyad varchar(255) NOT NULL,
    Yas int,
    Ulke varchar(255),
    CONSTRAINT Check_Kisiler CHECK (Yas>=13 AND Ulke='Turkey')
);

ALTER TABLE üzerinde CHECK KISILTLAMASI

Hali hazırda oluşmuş bir tabloya sonradan  "Yaş" sütununda bir CHECK kısıtlaması oluşturmak için aşağıdaki SQL komutu kullanılır.

MySQL / SQL Sunucusu / Oracle / MS Erişimi:

ALTER TABLE Kisiler
ADD CHECK (Yas>=13);

CHECK kısıtlamasını isimlendirmek ve bunu birden çok sütunda bir KONTROL kısıtlaması olarak tanımlamak için aşağıdaki SQL komutu kullanılır.

ALTER TABLE Kisiler
ADD CONSTRAINT Check_KisilerYas CHECK (Yas>=13 AND Ulke='Turkey');

CHECK Kısıtlamasını DROP ile Bırakmak

CHECK kısıtlamasını kaldırmak için aşağıdaki SQL komutu kullanılır.

SQL Sunucusu / Oracle / MS Erişimi:

ALTER TABLE Kisiler
DROP CONSTRAINT Check_KisilerYas;

MySQL:

ALTER TABLE Kisiler
DROP CHECK Check_KisilerYas;

 

İçerik: YUSUF ERDOĞAN