Tôi có một bảng trong SQL Server với hai cột số. Phải điền ít nhất một trong các trường số này. Làm thế nào để viết một ràng buộc kiểm tra để xác minh điều này?Tôi cần một ràng buộc kiểm tra trên hai cột, ít nhất một không được rỗng
5
A
Trả lời
12
này có thể được thực hiện với một hạn chế kiểm tra xác minh giá trị null và phù hợp với kết quả có hoặc
create table #t (i int
, j int
, constraint chk_null check (i is not null or j is not null))
Sau đây là các trường hợp thử nghiệm
insert into #t values (null, null) --> error
insert into #t values (1, null) --> ok
insert into #t values (null, 1) --> ok
insert into #t values (1, 1) --> ok
0
trễ trả lời, nhưng đây là một giải pháp cho Sql Server cho bất kỳ số cột nào cần kiểm tra:
CONSTRAINT CK_one_is_not_null CHECK (COALESCE(col1, col2, col3) IS NOT NULL)
Các vấn đề liên quan
- 1. SQL Server 2005 Ràng buộc duy nhất trên hai cột
- 2. Ràng buộc SQL: hai thuộc tính, ít nhất một đối sánh khóa ngoài trên cùng một bảng
- 3. MySQL: Ràng buộc một tập hợp các cột sao cho ít nhất một không phải là NULL
- 4. Ràng buộc duy nhất trên nhiều cột
- 5. kiểm tra ràng buộc duy nhất trong JPA
- 6. jquery validate kiểm tra ít nhất một hộp kiểm
- 7. Kiểm tra ràng buộc - chỉ cho phép một cột là đúng nếu cột khác là đúng
- 8. Tôi đang tìm một ràng buộc để ngăn việc chèn một chuỗi rỗng vào MySQL
- 9. Jquery - hãy kiểm tra xem có ít nhất một hộp kiểm được chọn không
- 10. Tại sao một kiểm tra null gây ra một ràng buộc bình đẳng trong F #?
- 11. Postgres Ràng buộc duy nhất trên hai cột: Số nguyên và Boolean
- 12. Ràng buộc một biến rỗng trong một PreparedStatement
- 13. Làm cách nào để tạo ràng buộc kiểm tra giữa hai cột trong SQL?
- 14. Ràng buộc "không rỗng" trong PDO?
- 15. Ràng buộc bảng SQLite - duy nhất trên nhiều cột
- 16. Tôi có thể kiểm tra các mẫu chức năng nào có hoặc chưa được tạo ít nhất một lần không?
- 17. Ràng buộc khoá ngoại có được kiểm tra trên câu lệnh cập nhật SQL không cập nhật các cột có ràng buộc không?
- 18. Ràng buộc duy nhất qua nhiều cột
- 19. Kiểm tra xem có ít nhất hai đối số được đưa ra trong một tập lệnh bash
- 20. Các ràng buộc duy nhất trên DB có cần thiết không?
- 21. Làm cách nào để tạo một ràng buộc duy nhất của SQL dựa trên 2 cột?
- 22. Tại sao tôi không thể đặt một ràng buộc trên nvarchar (tối đa)?
- 23. SQL: Ràng buộc duy nhất khi cột là một giá trị nhất định
- 24. Cách thêm ràng buộc không null vào cột chứa giá trị rỗng
- 25. Tại sao Spring MVC cần ít nhất hai bối cảnh?
- 26. Kiểm tra liệu một vector rỗng
- 27. Laravel kiểm tra vi phạm ràng buộc
- 28. MySQL và Kiểm tra ràng buộc
- 29. Việc tạo một ràng buộc duy nhất trên một cột có tự động tạo chỉ mục không?
- 30. Kiểm tra xem có ít nhất một trường nhập được điền vào jQuery
Bản sao có thể có của [Một cột giữa hai cột s hould KHÔNG NULL. Làm thế nào để thực thi nó trong lược đồ?] (Http://stackoverflow.com/questions/7017871/one-of-the-column-between-two-columns-should-be-not-null-how-to-enforce-it -in-s) – JohnnyHK
@JohnnyHK không trùng lặp vì câu hỏi này là về 'ít nhất một trong hai' và câu hỏi đó là về 'chỉ một trong hai' – nahab