PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Erro na logica para verificar dados repetidos #393198

30/12/2010

0

Boa noite 
Estou com um problema
Uso trigger para verificar duplicidade de valores no banco
No caso, o campo cnpj_cpf ele pode ser null...
Ao inserir ele nao gera a excessao, mas a o fazer uma edicao de certo dado ele nao deixa eu trocar o valor do cpf_cnpj gerando a excessao
oq pode ser?
AS 
BEGIN 
IF (INSERTING) THEN 
IF (EXISTS 
(SELECT FORNECEDOR, CPF_CNPJ, INSC_MUNICIPAL FROM FORNECEDOR 
WHERE ((FORNECEDOR = NEW.FORNECEDOR) OR 
(CPF_CNPJ = NEW.CPF_CNPJ) OR 
((INSC_MUNICIPAL = NEW.INSC_MUNICIPAL) AND (INSC_MUNICIPAL <> 'ISENTO'))))) THEN 
EXCEPTION FORNECEDOR_EXISTE; 
IF (UPDATING) THEN 
IF ((OLD.FORNECEDOR <> NEW.FORNECEDOR) OR 
(OLD.CPF_CNPJ <> NEW.CPF_CNPJ) OR 
((OLD.INSC_MUNICIPAL <> NEW.INSC_MUNICIPAL) AND (NEW.INSC_MUNICIPAL <> 'ISENTO'))) THEN 
IF (EXISTS 
(SELECT FORNECEDOR, CPF_CNPJ, INSC_MUNICIPAL FROM FORNECEDOR 
WHERE ((FORNECEDOR = NEW.FORNECEDOR) OR 
(CPF_CNPJ = NEW.CPF_CNPJ) OR 
((INSC_MUNICIPAL = NEW.INSC_MUNICIPAL) AND (INSC_MUNICIPAL <> 'ISENTO'))))) THEN 
EXCEPTION FORNECEDOR_EXISTE; 
END
Diego Macario

Diego Macario

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar