محدودیت check در SQL

چاپ

محدودیت CHECK

Wiki

محدودیت CHECK داده هایی را که در ستون ها وارد می شوند، به دامنه ای از مقادیر محدود می کند.

اگر محدودیت CHECK را روی یک ستون مجزا تعریف می کنید تنها مقادیر خاصی را برای این ستون می توانید وارد کنید.

اگر محدودیت CHECK را روی یک جدول (ستون های ترکیبی) تعریف کنید این محدودیت می تواند ستون های خاصی از جدول را بسته به مقادیر موجود در دیگر ستون ها در همان سطر محدود کند.


محدودیت CHECK در دستور CREATE TABLE

Wiki

دستور زیر در ستون P_Id هنگامی که جدول Persons ایجاد می شود محدودیت CHECK را ایجاد می کند. محدودیت CHECK تعیین می کند که ستون P_Id باید مقدار صحیح بیشتر از صفر داشته باشد.

در MySQL:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (P_Id>0)
)

در SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
P_Id int NOT NULL CHECK (P_Id>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

برای تعریف محدودیت CHECK روی ستون های ترکیبی (ترکیب دو یا چند ستون) از دستور زیر استفاده کنید. (منظور این است که داده های چند ستون با هم چک شوند)

در MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
)

محدودیت CHECK در دستور ALTER TABLE

Wiki

برای ایجاد محدودیت CHECK روی ستون P_Id هنگامی که جدول قبلا ایجاد شده از دستور زیر استفاده می کنیم.

در MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CHECK (P_Id>0)

برای اضافه کردن محدودیت CHECK روی ستون های ترکیبی( ترکیب دو یا چند ستون) از دستور زیر استفاده کنید(منظور این است که داده های چند ستون با هم چک شوند)

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')

حذف محدودیت CHECK

Wiki

برای حذف محدودیت CHECK از دستور زیر استفاده می کنیم.

در SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT chk_Person

در MySQL:

ALTER TABLE Persons
DROP CHECK chk_Person