[firebase-br] Ref. Execução Procedure

Omar Marques Haddad omarhaddadm em gmail.com
Qui Out 14 12:28:37 -03 2010


Fala brothers,

Tenho uma Procedure de Mensagem "SHOW_MESSAGE", que uso para dar display de
mensagens dentro de Triggers, etc.

Segue:


SET TERM ^ ;

create or alter procedure SHOW_MESSAGE (
    MENSAGEM varchar(78))
as
BEGIN
  UPDATE RDB$EXCEPTIONS
     SET RDB$MESSAGE = :MENSAGEM
   WHERE RDB$EXCEPTION_NAME = 'EXC_DINAMICO';
  EXCEPTION EXC_DINAMICO;
END^

SET TERM ; ^

GRANT EXECUTE ON PROCEDURE SHOW_MESSAGE TO TRIGGER
CAIXA_DIARIO_MOVIMENTACAO_BI0;
GRANT EXECUTE ON PROCEDURE SHOW_MESSAGE TO "PUBLIC";
GRANT EXECUTE ON PROCEDURE SHOW_MESSAGE TO SYSDBA;


Tenho uma trigger, no before insert de uma tabela de itens

CREATE OR ALTER TRIGGER CAIXA_DIARIO_MOVIMENTACAO_BI0 FOR
CAIXA_DIARIO_MOVIMENTACAO
ACTIVE BEFORE INSERT POSITION 0
AS
DECLARE VARIABLE UltimoNItem Integer;
BEGIN

  EXECUTE PROCEDURE SHOW_MESSAGE('teste');

  -- Captura o último número de Item deste usuário e data, já acrescido de
1.
  Select Max( Coalesce(CXM.CXMOVIM_NUMITEM,0) )
  from CAIXA_DIARIO_MOVIMENTACAO CXM
  Where (CXM.CXMOVIM_CODUSUARIO = NEW.CXMOVIM_CODUSUARIO) and
        (CXM.CXMOVIM_DATAMOVIMENTACAO = NEW.CXMOVIM_DATAMOVIMENTACAO)
  Into UltimoNItem;

  NEW.CXMOVIM_NUMITEM = (UltimoNItem+1);

END
^

SET TERM ; ^

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Ao dar um insert normal na tabela para ver se a trigger calcula o valor do
campo NUMITEM corretamente, ao rodar a linha:

EXECUTE PROCEDURE SHOW_MESSAGE('teste');

Recebo a mensagem abaixo:

password required.


Que senha é esta que ele está pedindo ? Uso FB 2.1. Estou logado como SYSDBA
(padrão)

Obrigado

-- 
Att.
Omar Marques Haddad
Analista de Sistemas Sênior



Mais detalhes sobre a lista de discussão lista