Estou tentando construir uma restrição de verificação condicional para minha tabela TBL_AFIL, que possui dois campos:
- Fec_Renun DATE
- flg_afil INTEIRO
Restrição: IF flg_afil=1 THEN Fec_Renun não pode ser NULL.
ALTER TABLE TBL_AFIL
ADD CONSTRAINT FecRenun_Not_Null CHECK (Fec_Renun IS not NULL and flg_afil =1) ;
Mas dá este erro:
ORA-02293: cannot validate (FecRenun_Not_Null) - check constraint violated
Mas quando executo esta consulta, ela retorna 0 linhas.
SELECT * FROM TBL_AFIL
WHERE FEC_RENUN IS NULL
AND FLG_AFIL =1;
Eu sei que a essa restrição eu poderia adicionar ENABLE NOVALIDATE
, mas estou intrigado porque não consigo construir essa restrição.
1 respostas