گروه مقاله : SQL Server
تاريخ انتشار : 1394/02/05 - 12:07
كد :253

محدودیت CHECK در SQL

از محدودیت CHECK زمانی استفاده می کنیم که بخواهیم برای یک ستون، یک سری محدودیت خاص روی ستون تعریف کنیم.
اگر شما محدودیت CHECK را برای یک ستون تعریف کنید تنها مقادیر خاصی اجازه ورود به این ستون را دارند.
اگر شما محدودیت CHECK را برای یک جدول تعریف کنید میتواند مقادیر داخل ستون های خاصی را بر اساس مقادیر ستون های دیگر سطر محدود کند.
محدودیت CHECK در دستور CREATE TABLE :
دستور SQL زیر یک محدودیت CHECK روی ستون "P_Id" زمانیکه جدول "Persons"  ساخته می شود ایجاد می کند. محدودیت 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 وبرای تعریف یک محدوده CHECK روی چند ستون از دستور SQL زیر استفاده کنید :
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 :
برای ایجاد یک محدودیت CHECK روی ستون "P_Id" زمانیکه جدول از قبل ساخته شده است ، از دستور SQL زیر استفاده کنید :
 
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CHECK (P_Id>0)
برای نام گذاری محدوده CHECK وبرای تعریف یک محدوده CHECK روی چند ستون از دستور SQL زیر استفاده کنید :
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
از بین بردن محدودیت CHECK:
برای از بین بردن محدودیت Check یا محدودیت خاص ، از دستور زیر استفاده می کنیم:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT chk_Person
MySQL:
ALTER TABLE Persons
DROP CHECK chk_Person
نظرات كاربران :