Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

ตรวจสอบข้อจำกัดใน SQL Server

ข้อจำกัดการตรวจสอบใน SQL Server คืออะไร มีไว้เพื่ออะไร และใช้ทำอะไร บทความนี้จะให้คำตอบกับคุณ

ข้อจำกัดการตรวจสอบการตรวจสอบใน SQL Server คืออะไร

ข้อจำกัดการตรวจสอบใน SQL Server (Transact-SQL) ช่วยให้สามารถกำหนดเงื่อนไขสำหรับแต่ละแถวในตารางได้

หมายเหตุ

  1. กำหนดข้อจำกัดการทดสอบในมุมมอง SQL ไม่ได้
  2. ข้อจำกัดการตรวจสอบในตารางต้องอ้างอิงถึงคอลัมน์ในตารางนั้น ไม่สามารถอ้างอิงคอลัมน์ในตารางอื่นได้
  3. ตรวจสอบข้อจำกัดไม่สามารถใช้การสืบค้นข้อมูลย่อย
  4. ข้อจำกัดในการทดสอบสามารถกำหนดได้โดยคำสั่ง CREATE TABLE หรือ ALTER TABLE

สร้างข้อจำกัดการตรวจสอบด้วยคำสั่ง CREATE TABLE

ไวยากรณ์

  CREATE TABLE ten _bang 
(
cot1 kieudulieu [ NULL | NOT NULL ],
cot2 kieudulieu [ NULL | NOT NULL ],


CONSTRAINT ten_rangbuoc
CHECK [ NOT FOR REPLICATION ] (dieu_kien ten_cot)
);

ประเภทข้อมูลใน SQL Server

ten_bang

ชื่อของตารางที่ต้องการสร้างข้อจำกัดในการตรวจสอบ

ten_rangbuoc

ชื่อที่คุณต้องการตั้งค่าสำหรับการตรวจสอบ

ten_cot

คอลัมน์ตารางที่ใช้ข้อจำกัดการตรวจสอบ

เงื่อนไข

ต้องเป็นไปตามเงื่อนไข

ตัวอย่างเช่น

  CREA TE TABLE nhanvien 
(id_nhanvien INT NOT NULL,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50),
luong MONEY,
CONSTRAINT id_nhanvien_kiemtra
CHECK (id_nhanvien BETWEEN 1 AND 10000)
);

ในตัวอย่างนี้ คำสั่ง CREATE TABLE จะสร้างข้อจำกัดในการตรวจสอบชื่อ id_nhanvien_kiemtra ในตาราง ข้อจำกัดนี้จะช่วยให้แน่ใจว่าฟิลด์ข้อมูล id_nhanvien มีค่าระหว่าง 1 ถึง 10,000

นี่เป็นอีกตัวอย่างหนึ่ง

  CRE ATE TABLE nhanvien 
(id_nhanvien INT NOT NULL,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50),
luong MONEY,
CONSTRAINT luong_kiemtra
CHECK (luong > 0)
);

ตัวอย่างนี้สร้างข้อจำกัดที่จะตรวจสอบผลรวมเช็คในตาราง เพื่อให้แน่ใจว่าเงินเดือนจะมากกว่าศูนย์

สร้างข้อจำกัดการตรวจสอบด้วยคำสั่ง ALTER TABLE

ไวยากรณ์

  ALTER TABLE ten_bang 
ADD CONSTAINT ten_rangbuoc
CHECK (d ieu_kien ten_cot);

ten_bang

ชื่อของตารางต้องการเพิ่มข้อจำกัดในการตรวจสอบ

ten_rangbuoc

ตั้งชื่อไว้สำหรับผูกเช็ค

ten_cot

มีการใช้คอลัมน์ในตารางที่ตรวจสอบข้อจำกัด

เงื่อนไข

เงื่อนไขที่ตรวจสอบข้อจำกัดต้องเป็นไปตาม

ตัวอย่างเช่น

นี่คือตัวอย่างการใช้คำสั่ง ALTER TABLE เพื่อสร้างข้อจำกัดในการตรวจสอบใน SQL Server

  ALTER TABLE  nhanvien 
ADD CONSTRAINT ho_kiemtra
CHECK (ho IN ('S mith', 'Anderson', 'Jonas'));

ข้อจำกัดการตรวจสอบ ho_kiemtra ถูกสร้างขึ้นในตารางที่มีอยู่ เพื่อให้แน่ใจว่านามสกุลของพนักงานจะมีเฉพาะค่าสำหรับ Smith, Anderson หรือ Jonas

ลบข้อจำกัดการตรวจสอบ

ไวยากรณ์

  ALTE R TABLE ten_bang 
DROP CONSTRAINT ten_rangbuoc

ten_bang

ชื่อของตารางที่จะลบข้อจำกัดการตรวจสอบ

ten_rangbuoc

ตรวจสอบชื่อการผูกที่ต้องการลบ

ตัวอย่างเช่น

  ALTE R TABLE nhanvien 
DROP CONSTRAINT ho_kiemtra;

คำสั่งนี้จะลบข้อจำกัด ho_kiemtra บนตาราง

เปิดใช้งานการผูกการตรวจสอบ

ไวยากรณ์

  ALTER TA BLE ten_bang 
WITH CHEC K CHECK CONSTRAINT ten_rangbuoc;

ten_bang

ชื่อของตารางเพื่อเปิดใช้ข้อจำกัดการตรวจสอบอีกครั้ง

ten_rangbuoc

ต้องเปิดใช้งานชื่อของข้อจำกัดการตรวจสอบ

ตัวอย่างเช่น

  ALTER TA BLE nhanvien 
WITH CHEC K CHECK CONSTRAINT luong_kiemtra;

ตัวอย่างนี้เปิดใช้งานข้อจำกัดการตรวจสอบอีกครั้งในตารางในตาราง

ปิดใช้งานการผูกการตรวจสอบ

ไวยากรณ์

  ALTER TA BLE ten_bang 
NOCHECK CONSTRAINT ten_rangbuoc;

ten_bang

ชื่อของตารางเพื่อปิดใช้งานข้อจำกัดการตรวจสอบ

ten_rangbuoc

ต้องการปิดใช้งานชื่อของข้อจำกัดการตรวจสอบ

ตัวอย่างเช่น

  ALTER T ABLE nhanvien 
NOCHECK CONSTRAINT luong_kiemtra;

ตัวอย่างนี้ปิดใช้งานข้อจำกัดการตรวจสอบใน luong_kiemtra ในตาราง