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

Cách tạo ràng buộc mặc định phụ thuộc cột khác trong máy chủ sql

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để kết hợp dữ liệu OPENXML vào Truy vấn tham gia bên trong của tôi?

  2. SqlParameter đã được chứa bởi một SqlParameterCollection khác - Việc sử dụng () {} có gian lận không?

  3. SQL Server:Làm cách nào để lưu trữ dữ liệu nhị phân (ví dụ:tệp Word)?

  4. Không thể tạo phiên bản của nhà cung cấp OLE DB Microsoft.Jet.OLEDB.4.0 cho máy chủ được liên kết rỗng

  5. JBoss kết nối lại khi hết thời gian kết nối