Ho una tabella con 4 colonneCome assegnare un vincolo univoco a una combinazione di colonne in Oracle?
ogni colonna sarà A, B, C, D
Colonna A è la chiave primaria. La colonna B ha un vincolo di nome univoco.
Ora voglio rimuovere il vincolo univoco per la colonna B e dare un vincolo univoco combinando le colonne B, C e D. Quindi la tabella consentirà solo una riga con un valore particolare nelle colonne B, C e D.
Come posso dare questo tipo di vincolo?
ho provato dando la chiave univoca composito come:
ALTER TABLE TABLENAME ADD CONSTRAINT CONSTRAINT_NAME UNIQUE (COLUMN_B, COLUMN_C, COLUMN_D)
Ma sta verificando se uno qualsiasi vincolo è presente piuttosto che controllando la combinazione di restrizione di chiave univoca.
@Naveen ho dato il vincolo, come hai detto .. ma sembra che il vincolo controlla solo uno dei nomi di colonna ... Voglio che sia come se una nuova riga non fosse autorizzata a inserire tutti e tre i valori delle colonne già presenti nella tabella. –
hai @nigelthomas visualizza questo collegamento http://stackoverflow.com/questions/1109614/how-can-i-create-a-sql-unique-constraint-based-on-2-columns –