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

Giá trị trường phải là duy nhất trừ khi nó là NULL

Tôi tạo chế độ xem với chỉ mục bỏ qua các giá trị null thông qua mệnh đề where ... tức là. nếu bạn chèn null vào bảng, dạng xem không quan tâm nhưng nếu bạn chèn giá trị không null, dạng xem sẽ thực thi ràng buộc.

create view dbo.UniqueAssetTag with schemabinding
as
select asset_tag
from dbo.equipment
where asset_tag is not null

GO

create unique clustered index ix_UniqueAssetTag
on UniqueAssetTag(asset_tag)

GO

Vì vậy, bây giờ bảng thiết bị của tôi có một cột asset_tag cho phép nhiều giá trị null nhưng chỉ các giá trị không null duy nhất.

Lưu ý:Nếu sử dụng mssql 2000, bạn sẽ cần phải " BẬT LẬP TRÌNH BẬT "ngay trước khi thực hiện bất kỳ thao tác chèn, cập nhật hoặc xóa nào trên bảng. Khá chắc chắn rằng điều này không bắt buộc trên mssql 2005 trở lên.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có bất kỳ công cụ miễn phí nào để tạo tập lệnh 'CHÈN VÀO' trong MS SQL Server không?

  2. Chèn hàng loạt Sql Server hàng triệu bản ghi

  3. Tại sao lại xảy ra lỗi liên quan đến mạng hoặc lỗi cụ thể đối với phiên bản cụ thể trong khi thiết lập kết nối với SQL Server?

  4. sp_MSForEachDB Sử dụng Không hợp lệ Toán tử Hiệu quả Bên trong Chức năng

  5. SQL Server:Làm cách nào để tìm nạp dữ liệu từ nhiều bảng động?