Ho una situazione in cui è necessario applicare un vincolo univoco su una colonna [attributo] in base a un altro valore di colonna.Vincolo univoco condizionale in oracle db
Così, per esempio, ho una tabella come tabella (ID, EID, Nome, isDeleted)
isDeleted può avere solo un valore nullo o 'y' (attivo o eliminato), e voglio creare un vincolo univoco su EID, ISDeleted solo quando ISDeleted = null, dal momento che non mi interessa se ci sono più record eliminati con lo stesso id. Si noti che l'EID può avere valore nullo.
Sto utilizzando Oracle DB per questo.
Cosa farà "else null"? Inserirà un valore nullo OPPURE consentirà l'inserimento di record duplicati? – D3V
@SantoshPingale - Dal momento che gli indici Oracle non indicizzano i valori NULL, il 'ELSE NULL' escluderà quelle righe dall'indice che consentirà duplicati. –