Tôi có một tình huống mà tôi cần phải thực thi ràng buộc duy nhất trên cột [thuộc tính] tùy thuộc vào giá trị cột khác.Ràng buộc duy nhất có điều kiện trong oracle db
Vì vậy, ví dụ, tôi có một bảng như bảng (ID, EID, Tên, isDeleted)
isDeleted chỉ có thể có một giá trị null hoặc 'y' (hoạt động hoặc bị xóa), và tôi muốn tạo ra một ràng buộc duy nhất trên EID, ISDeleted chỉ khi ISDeleted = null, vì tôi không quan tâm nếu có nhiều bản ghi đã xóa với cùng một id. Xin lưu ý rằng, EID có thể có giá trị null.
Tôi đang sử dụng Oracle DB cho việc này.
'Điều gì khác' sẽ làm gì? Nó sẽ chèn một giá trị null HOẶC cho phép chèn bản ghi trùng lặp? – D3V
@SantoshPingale - Vì chỉ mục Oracle không chỉ mục giá trị NULL, 'ELSE NULL' sẽ loại trừ các hàng đó khỏi chỉ mục sẽ cho phép trùng lặp. –