CHECK (Check)
قید CHECK یعنی «بازرس مقدار». «قید (Constraint)» قانون داده است. با قید CHECK محدوده مجاز را تعیین می کنی. بنابراین، مقدارهای اشتباه رد می شوند.
قید CHECK در ساخت جدول
می خواهیم سن کمتر از 18 نباشد. پس یک قید ساده می گذاریم.
CREATE TABLE Persons (
ID INT NOT NULL,
LastName VARCHAR(255) NOT NULL,
FirstName VARCHAR(255),
Age INT,
CHECK (Age >= 18)
);
حالا قید را نام گذاری می کنیم. همچنین شرط مرکب هم می گذاریم.
CREATE TABLE Persons (
ID INT NOT NULL,
LastName VARCHAR(255) NOT NULL,
FirstName VARCHAR(255),
Age INT,
City VARCHAR(255),
CONSTRAINT CHK_Person CHECK (Age >= 18 AND City = 'Sandnes')
);
افزودن قید CHECK با ALTER TABLE
جدول ساخته شده است؟ اشکالی ندارد. قید را بعداً هم می افزاییم.
ALTER TABLE Persons
ADD CHECK (Age >= 18);
برای نگهداری بهتر، قید را نام گذاری کن. شرط مرکب هم ممکن است.
ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age >= 18 AND City = 'Sandnes');
حذف قید CHECK
نیاز نبود؟ قید نام دار را با دستور زیر حذف کن.
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;
نکات کاربردی قید CHECK
- قید CHECK محدوده مجاز را enforce می کند.
- می تواند ستونی یا جدولی باشد.
- نام گذاری، عیب یابی را سریع تر می کند.
نکته: شرط ها را ساده بنویس. خوانایی مهم است. سپس تست با داده های مرزی انجام بده.
مطالعه مرتبط: کلید خارجی (Foreign Key) و قیود (Constraints). همچنین صفحه CHECK (Check) را ببین.
جمع بندی سریع
- CHECK یعنی مرز برای مقدار.
- در CREATE و ALTER می آید.
- شرط مرکب هم پشتیبانی می شود.
- برای حذف، نام قید لازم است.