sql >> Database teknologi >  >> RDS >> Oracle

Betinget unik begrænsning med flere felter i oracle db

@jamesfrj:det ser ud til, at du prøver at sikre, at din tabel kun skal indeholde én post, for hvilken status <>5 .

Du kan prøve at oprette et unikt funktionelt indeks ved at sammenkæde kolonnerne, som angivet nedenfor

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

Håber det hjælper

Vishad



  1. Tilføj tidsstempelkolonne med standard NOW() kun for nye rækker

  2. Sådan tjekker du din sessions ANSI_NULLS-indstilling i SQL Server

  3. Max borde og designmønster

  4. PG::ConnectionBad:FATAL:adgangskodegodkendelse mislykkedes for bruger alphauser