sql >> Database >  >> RDS >> Oracle

Voorwaardelijke unieke beperking met meerdere velden in Oracle db

@jamesfrj:het lijkt erop dat u probeert ervoor te zorgen dat uw tabel slechts één record mag bevatten waarvoor status <>5 .

U kunt proberen een unieke functionele index te maken door de kolommen samen te voegen, zoals hieronder weergegeven

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

Ik hoop dat het helpt

Vishad



  1. MySQL Workbench - Forward Engineering - Fout 1005:Kan tabel niet maken (fout:150)

  2. Bulk invoegen en id's terugkrijgen laravel

  3. Een getal opmaken als valuta in MariaDB

  4. MySQL maakt geen verbinding bij implementatie van EC2 met Rubber