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

Ràng buộc duy nhất có điều kiện với nhiều trường trong oracle db

@jamesfrj:có vẻ như bạn đang cố gắng đảm bảo rằng bảng của mình chỉ chứa một bản ghi có status <>5 .

Bạn có thể thử tạo một chỉ mục chức năng duy nhất bằng cách nối các cột, như được đưa ra bên dưới

      create table XPTO_TABLE (id number, 
                            obj_x varchar2(20),
                            date_x date,
                            type_x varchar2(20),
                            status_x varchar2(20)                              
                           );

      create unique index xpto_table_idx1 on XPTO_TABLE(case when status_x <>'5'  THEN              obj_x||date_x||type_x||STATUS_x ELSE null END);

Hy vọng nó sẽ hữu ích

Vishad



  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ỗi số nhận dạng không hợp lệ cho v_MONTH trong truy vấn động

  2. Trình kích hoạt chèn có cần câu lệnh cam kết không

  3. Chuyển đổi kỷ nguyên sang ngày tháng trong sqlplus / Oracle

  4. Sự khác biệt giữa biến PLSQL Bind và biến Host là gì

  5. Hàm TRUNC (số) trong Oracle