[firebase-br] Trigger em tabelas de sistema

Eurides Baptistella eurides.baptistella em gmail.com
Ter Maio 31 12:28:34 -03 2011


Bom dia !

Essas tabelas não recebem inserts pelo que testei, elas capturam as
informações diretamente do banco como uma view. (Pelo menos foi isso que
consegui entender quando tentei criar triggers nessas tabelas a algum tempo
atras)

att.

Em 31 de maio de 2011 09:57, Eduardo Jedliczka <edujed em gmail.com> escreveu:

> Não me lembro se isto já foi implementado no Firebird 2.5, ou se o
> "bloqueio à triggers, e criação novos campos nas tabelas de sistema"
> será uma das "novidades" no FB 3.0.
>
> abraço,
>
> ==========================
> Eduardo Jedliczka
> Apucarana - Pr
> ==========================
>
>
>
>
> Em 31 de maio de 2011 08:11, Saulo Tek-System <saulo em teksystem.com.br>
> escreveu:
> > Oi Pessoal. Bom dia a todos.
> >
> > Gostaria de saber se é possível criar uma trigger nas tabelas de sistema
> e
> > monitoramento do Firebird.
> >
> > Eu cheguei a criar uma trigger na tabela de monitoramento (segue abaixo a
> > DDL), porém a ela não é disparada quando um registro é incluído na
> tabela.
> > Testei com os eventos after insert  e before insert.
> >
> > Alguém saberia me dizer porque isso está acontecendo?
> >
> > Desde já agradeço. Abraços a todos,
> >
> > Saulo
> >
> > P.S.: Testei uma trigger similar em uma tabela comum e funcionou...
> >
> >
> >
> > CREATE OR ALTER trigger trg_MONITOR_COMANDOS for MON$STATEMENTS
> >
> > active after insert position 0
> >
> > as
> >
> >  declare variable FLAG integer;
> >
> >  declare variable CAMINHO_ARQLOG varchar(255);
> >
> > begin
> >
> >  select CONFIG_MONITOR.STATUS_CONFIGMON,
> CONFIG_MONITOR.CAMINHOBD_CONFIGMON
> >
> >  from CONFIG_MONITOR into :FLAG, :CAMINHO_ARQLOG;
> >
> >
> >
> >  if (:FLAG > 0) then
> >
> >  begin
> >
> >       execute statement ('insert into COMANDOS (STAT_ID, STATEMENT_ID,
> > ATTACHMENT_ID, "TRANSACTION_ID", ESTADO, INICIO, TEXTO_SQL)' ||
> > 'values (:STAT_ID, :STATEMENT_ID, :ATTACHMENT_ID, :"TRANSACTION_ID",
> > :ESTADO, :INICIO, :TEXTO_SQL)')
> >
> >       (STAT_ID := new.MON$STAT_ID, STATEMENT_ID := new.MON$STATEMENT_ID,
> > ATTACHMENT_ID := new.MON$ATTACHMENT_ID,
> >
> >        ESTADO := new.MON$STATE, INICIO := new.MON$TIMESTAMP, TEXTO_SQL :=
> > new.MON$SQL_TEXT)
> >
> >       on external CAMINHO_ARQLOG
> >
> >       AS USER 'SYSDBA' PASSWORD 'masterkey'
> >
> >       WITH COMMON TRANSACTION;
> >
> >  end
> >
> > end;
> >
> >
> >
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 

*--
Eurides V. Baptistella
**E-mail:* eurides.baptistella em gmail.com
*Fone:* +55 (49) 9125-6572



Mais detalhes sobre a lista de discussão lista