2011-10-27 36 views
7

Tôi có thể thêm ràng buộc kiểm tra để đảm bảo rằng tất cả các giá trị là duy nhất, nhưng cho phép các bản sao của giá trị mặc định?Ràng buộc Oracle

Trả lời

11

Bạn có thể đạt được điều này bằng cách sử dụng chỉ số funcction-based (FBI):

create unique index idx on my_table (case when col != 'DEFAULT' then col end)); 

Điều đó tạo ra một chỉ số duy nhất trên tất cả các giá trị ngoại trừ 'DEFAULT'.

+0

Đây là cách tiếp cận chính xác, chỉ cần lưu ý rằng bạn cần cấp quyền truy vấn để viết lại cho FBI hoạt động. – phil

+2

Yêu cầu ghi lại truy vấn không tồn tại kể từ 8i. –

+0

Bạn hoàn toàn chính xác, không có ý tưởng tại sao ý nghĩ đó bị mắc kẹt với tôi tất cả thời gian này. Sống và học hỏi – phil

Các vấn đề liên quan