[firebase-br] Erro Trigger Insert Or Update - Firebird 2.1
Eduardo Belo
beloelogica em gmail.com
Ter Ago 3 12:33:30 -03 2010
Funcionou!. Obrigado a Neodir e Ivan.
Em 3 de agosto de 2010 11:17, Eduardo Belo <beloelogica em gmail.com> escreveu:
> 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