89 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: SQL CHECK Constraint
 | |
| localeTitle: SQL CHECK القيد
 | |
| ---
 | |
| يتم استخدام القيد CHECK لتحديد نطاق القيمة التي يمكن وضعها في عمود.
 | |
| 
 | |
| إذا حددت قيد CHECK في عمود واحد ، فإنها تسمح فقط بقيم معينة لهذا العمود.
 | |
| 
 | |
| إذا قمت بتحديد قيد CHECK على جدول ، فيمكنه تقييد القيم في أعمدة معينة استنادًا إلى القيم الموجودة في أعمدة أخرى في الصف.
 | |
| 
 | |
| ### SQL الاختيار على CREATE TABLE
 | |
| 
 | |
| ينشئ SQL التالية قيد CHECK على العمود "العمر" عند إنشاء جدول "الأشخاص". يضمن القيد CHECK أنه لا يمكن أن يكون لديك أي شخص أقل من 18 عامًا:
 | |
| 
 | |
| **الخلية:**
 | |
| 
 | |
| ```sql
 | |
| CREATE TABLE Persons (
 | |
|     ID int NOT NULL,
 | |
|     LastName varchar(255) NOT NULL,
 | |
|     FirstName varchar(255),
 | |
|     Age int,
 | |
|     CHECK (Age>=18)
 | |
| );
 | |
| ``` 
 | |
| 
 | |
| **SQL Server / Oracle / MS Access:**
 | |
| 
 | |
| ```sql
 | |
| CREATE TABLE Persons (
 | |
|     ID int NOT NULL,
 | |
|     LastName varchar(255) NOT NULL,
 | |
|     FirstName varchar(255),
 | |
|     Age int CHECK (Age>=18)
 | |
| );
 | |
| ``` 
 | |
| 
 | |
| للسماح بتسمية قيد CHECK ، ولتحديد قيد CHECK على أعمدة متعددة ، استخدم بناء جملة SQL التالي:
 | |
| 
 | |
| **MySQL / SQL Server / Oracle / MS Access:**
 | |
| 
 | |
| ```sql
 | |
| 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')
 | |
| );
 | |
| ``` 
 | |
| 
 | |
| ### SQL الاختيار على ALTER TABLE
 | |
| 
 | |
| لإنشاء قيد CHECK على العمود "العمر" عند إنشاء الجدول بالفعل ، استخدم SQL التالي:
 | |
| 
 | |
| **MySQL / SQL Server / Oracle / MS Access:**
 | |
| 
 | |
| ```sql
 | |
| ALTER TABLE Persons
 | |
| ADD CHECK (Age>=18);
 | |
| ``` 
 | |
| 
 | |
| للسماح بتسمية قيد CHECK ، ولتحديد قيد CHECK على أعمدة متعددة ، استخدم بناء جملة SQL التالي:
 | |
| 
 | |
| **MySQL / SQL Server / Oracle / MS Access:**
 | |
| 
 | |
| ```sql
 | |
| ALTER TABLE Persons
 | |
| ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');
 | |
| ``` 
 | |
| 
 | |
| ### انخفاض القيد الاختيار
 | |
| 
 | |
| لإسقاط قيد CHECK ، استخدم SQL التالي:
 | |
| 
 | |
| **SQL Server / Oracle / MS Access:**
 | |
| 
 | |
| ```sql
 | |
| ALTER TABLE Persons
 | |
| DROP CONSTRAINT CHK_PersonAge;
 | |
| ``` 
 | |
| 
 | |
| **الخلية:**
 | |
| 
 | |
| ```sql
 | |
| ALTER TABLE Persons
 | |
| DROP CHECK CHK_PersonAge;
 | |
| ``` |