قيود DEFAULT في SQL

قيود DEFAULT في SQL

تستخدم قيود التحقق لتحديد نطاق القيم في العمود.

إذا تم تعريف قيود التحقق على عمود واحد، فإن هذا العمود يسمح فقط بالقيم المحددة.

إذا تم تعريف قيود التحقق على جدول، فإن هذه القيود ستقيد القيم في العمود المحدد.

قيود التحقق SQL على CREATE TABLE

هذا SQL عند إنشاء الجدول "Persons" يخلق قيود التحقق في عمود "Id_P". تقوم قيود التحقق بتحديد أن عمود "Id_P" يجب أن يحتوي فقط على أرقام صحيحة أكبر من 0.

MySQL:

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

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P int NOT NULL CHECK (Id_P>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
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')
)

محدد CHECK في SQL على ALTER TABLE

إذا كنت ترغب في إنشاء CHECK المحدد للعمود "Id_P" في جدول موجود بالفعل، استخدم SQL التالية:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CHECK (Id_P>0)

إذا كنت ترغب في تسمية CHECK المحدد، أو تعريف CHECK المحدد لعدة أعمدة، استخدم الجملة SQL التالية:

MySQL / SQL Server / Oracle / MS Access:

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

إلغاء CHECK المحدد

إذا كنت ترغب في إلغاء CHECK المحدد، استخدم SQL التالية:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT chk_Person

MySQL:

ALTER TABLE Persons
DROP CHECK chk_Person