Oracle
 sql >> база данни >  >> RDS >> Oracle

Условно уникално ограничение с множество полета в Oracle db

@jamesfrj:изглежда, че се опитвате да гарантирате, че вашата таблица трябва да съдържа само един запис, за който status <>5 .

Можете да опитате да създадете уникален функционален индекс чрез свързване на колоните, както е дадено по-долу

      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);

Надявам се да помогне

Вишад



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да направя рекурсивен pl/sql кодов блок, който да работи с няколко избрани изречения?

  2. Прочетете ARRAY от STRUCT, върнат от съхранена процедура

  3. Oracle 12c:Как мога да променя съществуваща колона с първичен ключ в колона за самоличност?

  4. Експортиране на дъмп на таблица с помощта на SQL DEVELOPER

  5. SQL заявка за получаване на броя на думите в таблицата