[firebase-br] Erro Trigger Insert Or Update - Firebird 2.1
Eduardo Belo
beloelogica em gmail.com
Ter Ago 3 11:17:21 -03 2010
Olá Pessoal!
O objetivo da Trigger abaixo é evitar CPF e MATRICULA em duplicidade, só
pode aceitar CPF com Matriculas distintas, exemplo:
CPF: 111.111.111-11 - MATRICULA: 123456
CPF: 111.111.111-11 - MATRICULA: 999999
No Insert está Ok, mas no Update está passando. O que há de errado nesse
código?
CREATE OR ALTER TRIGGER TRG_CPF_MATRICULA_JA_EXISTE FOR USUARIOS
ACTIVE BEFORE INSERT OR UPDATE POSITION 0
AS
BEGIN
IF (INSERTING) THEN
IF (EXISTS
(SELECT USUARIOS.CPF,USUARIOS.MATRICULA FROM USUARIOS
WHERE USUARIOS.CPF=NEW.CPF AND USUARIOS.MATRICULA=NEW.MATRICULA))
THEN
EXCEPTION CPF_MATRICULA_JA_EXISTE;
IF (UPDATING) THEN
IF (OLD.CPF<>NEW.CPF AND OLD.MATRICULA<>NEW.MATRICULA) THEN
IF (EXISTS
(SELECT USUARIOS.CPF,USUARIOS.MATRICULA FROM USUARIOS
WHERE USUARIOS.CPF=NEW.CPF AND USUARIOS.MATRICULA=NEW.MATRICULA))
THEN
EXCEPTION CPF_MATRICULA_JA_EXISTE;
END
Obrigado a todos que ajudarem.
Mais detalhes sobre a lista de discussão lista