Bạn muốn một cột được tính toán. Ví dụ:
CREATE TABLE tab1
(
ID INT IDENTITY(1,1)
,[Type] VARCHAR(10)
,IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END
)
Bạn có thể thêm vào bảng hiện có bằng cú pháp sau:
ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END
Bạn có thể duy trì cột bằng cách thêm từ khóa PERSISTED
sau khi tạo cột. Giữ cột có nghĩa là trường được lưu trữ trên đĩa. Khi bạn chèn hoặc cập nhật một bản ghi, máy chủ SQL sẽ tính ra giá trị tại thời điểm đó. Nếu bạn không, SQL Server sẽ phải giải quyết vấn đề này mỗi khi bạn truy cập hàng. Bạn có thể tìm thấy lời giải thích hữu ích tại SQL Server 2005 Computed Cột được duy trì
ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
WHEN 'R' THEN 0
END PERSISTED