Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Thêm giá trị mặc định vào cột hiện có dựa trên If Then Else sql server 2008

Bạn có thể làm điều đó thông qua ràng buộc CHECK,

Đầu tiên, bạn sẽ phải tạo bảng,

 create table myTemp1(TempId int not null ,TransCode int,ReasonCode int);

và sau đó thêm ràng buộc dưới dạng

tạo bảng myTemp1 (int TempId không null, int TransCode, int ReasonCode);

alter table myTemp1
add constraint check_role CHECK(case when (TransCode = 1 AND ReasonCode = NULL)
                                then 99 else ReasonCode end = ReasonCode);

HOẶC thích

alter table myTemp1
add constraint check_role CHECK(ReasonCode = (case when (TransCode = 1 AND ReasonCode
                                = NULL) then 99 else ReasonCode end = 1))

demo tại http://sqlfiddle.com/#!3/d633a/1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao và khi nào một mệnh đề LEFT JOIN với điều kiện trong mệnh đề WHERE không tương đương với cùng một LEFT JOIN trong ON?

  2. Truy vấn Unicode SQL W / Tham số thay vì Tiền tố N

  3. t-sql chọn nhận tất cả các Tháng trong một phạm vi năm

  4. SQL Server:GROUP BY hai cấp với đầu ra XML

  5. Truy vấn SQL giống nhau mất nhiều thời gian hơn để chạy trong một DB so với một DB khác trong cùng một máy chủ