Oracle
 sql >> Base de données >  >> RDS >> Oracle

Contrainte ORACLE pour autoriser la valeur nulle, IF

Vous devez reformuler vos contraintes.

Tout d'abord, si vous souhaitez qu'un champ contienne des valeurs nulles, quelles que soient les autres règles, il doit s'agir d'un champ acceptant les valeurs nulles.

ApprUserNo     NUMBER(10)   NULL,   -- No Check Constrain

Deuxièmement, créez une contrainte indiquant que ApprUserNo ne peut pas être NULL, à moins que ErStatus = 'PENDING'

CONSTRAINT ERStatus_Null_Exception CHECK (AppUserNo IS NOT NULL OR ERStatus = 'PENDING'),