Thêm constraint trong sql server

“Giới tính chỉ có hai giá trị 0 và 1: 0 là Nam 1 là Nữ”
mình không biết cái này viết làm sao, ae nào biết có thể giúp mình được không. Xin cám ơn

Bạn thử dùng trigger nha

2 Likes

Check Constraint.

  • Tạo check constraint trên table (nên có 3 giá trị). (right click trên giao diện Design của table)
    image

  • Miền dữ liệu của column nằm trong 2 (hoặc 3) giá trị bạn cần.
    image

  • Bạn có thể thấy giá trị nằm ngoài phạm vi 0,1,2 ko được chấp nhận trong vd bên dưới.

3 Likes

Gõ lệnh nào :smiley:

ALTER TABLE [people] -- cái bảng nì
ADD CONSTRAINT on_gender -- gọi tên
CHECK $điều_kiện -- :)
2 Likes

cám ơn bác. ngoài dùng cách tuy chỉnh trong app thì có cách viết nào không ạ do thầy chỉ chấm lệnh sql thôi =((

cái lệnh check này thì không dùng được bác ơi viết mãi chỉnh mãi chẳng chạy ra được

ALTER TABLE [demo_check]  
  WITH CHECK ADD  CONSTRAINT [demo_check_gioi_tinh_ck] 
  CHECK  ([gioi_tinh] IN (0,1,2))
GO

Lưu ý đổi lại tên table, column (và cả tên constraint) của bạn.

3 Likes

Cám ơn bạn nhé. Nhưng mà hình như không phải chỉ ràng buộc dữ liệu trong số đó mà là nhập “0 " thì trong dữ liệu in ra " Nam” nhập “1” trong dl in ra " Nữ" .Dường như là phải viết code câu “if … else” gì đó nữa

Cái đó bạn lập thớt mới đi :smiley:

1 Like

Cái này bạn phải viết Trigger để thực hiện.

Tuy nhiên, thực tế ko ai làm vậy vì nhiều lý do như tốc độ cây query hay không gian lưu trữ.
Trong khi khi query bạn hoàn toàn có thể dùng các hàm/cấu trúc như Case để “show” ra dữ liệu cần thấy.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?