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

Làm thế nào để giới hạn một bảng cơ sở dữ liệu để chỉ một hàng có thể có một giá trị cụ thể trong một cột?

Sử dụng chỉ mục dựa trên chức năng:

create unique index only_one_yes on mytable
(case when col='YES' then 'YES' end);

Oracle chỉ lập chỉ mục các khóa không hoàn toàn rỗng và biểu thức CASE ở đây đảm bảo rằng tất cả các giá trị 'KHÔNG' được thay đổi thành null và do đó không được lập chỉ mục.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đồng thời tốt hơn trong Oracle so với SQL Server?

  2. Làm thế nào để kiểm tra không gian bảng trong Oracle SQL Developer?

  3. Trình tự Oracle không tạo ra số liên tục

  4. PostgreSQL tương đương với hàm PERCENTILE_CONT của Oracle

  5. đây là lỗi ORA-12154:TNS:không thể giải quyết định danh kết nối được chỉ định?