SET TERM ^ ;

CREATE OR ALTER trigger ttbusuario_b04iu for tbusuario
active before insert or update position 0
AS
DECLARE variable usuario_encontrado varchar(500);
begin
   usuario_encontrado = '';
   if(inserting)then
   begin
     usuario_encontrado = coalesce((select first 1 FN_LPAD(A.CODIGO,4,0)||' - '||UPPER(a.USUARIO) from tbusuario a where UPPER(a.USUARIO) = UPPER(new.USUARIO)),'');
     if(usuario_encontrado <> '')then
     begin
       EXCEPTION "..." 'USUARIO '||UPPER(new.USUARIO)||' JA CADASTRADO NO SISTEMA. <BR> OPERACAO CANCELADA.';
     end
   end
   
   if(UPDATING)then
   begin
     IF(OLD.USUARIO IS DISTINCT FROM new.USUARIO)THEN
     BEGIN
         usuario_encontrado = coalesce((select first 1 FN_LPAD(A.CODIGO,4,0)||' - '||UPPER(a.USUARIO) from tbusuario a where UPPER(a.USUARIO) = UPPER(new.USUARIO)),'');
         if(usuario_encontrado <> '')then
         begin
           EXCEPTION "..." 'USUARIO '||UPPER(new.USUARIO)||' JA CADASTRADO NO SISTEMA. <BR> OPERACAO CANCELADA.';
         end
     END
   end
end
^

SET TERM ; ^

