[firebase-br] Ajuda em Triger
Magno System
magno em speet.com.br
Sex Jun 19 10:40:54 -03 2009
A trigger é ligada a uma tabela. Nesta tabela você deve ter um campo onde
fique gravado o ano corrrente. Pode até ser em outra tabela se você achar
melhor. Toda vez que a trigger for disparada ela vai comparar se o valor do
campo que guarda o ano corrente é igual ao ano atual:
SELECT ANOCORRENTE FROM TABELA INTO :ANOCORRENTE;
SELECT EXTRACT(YEAR FROM CURRENT_DATE) FROM RDB$DATABASE INTO :ANOATUAL;
IF (:ANOCORRENTE <> :ANOATUAL) THEN
BEGIN
execute statement 'ALTER SEQUENCE GEN_CODIGO_ANUAL RESTART WITH 0;';
UPDATE TABELA SET ANOCORRENTE = :ANOATUAL;
END
Não testei, mas tente algo parecido.
----- Original Message -----
From: "Zottis" <zottissistemas em brturbo.com.br>
To: <lista em firebase.com.br>
Sent: Friday, June 19, 2009 9:56 AM
Subject: [firebase-br] Ajuda em Triger
Pessoal, preciso fazer uma Triger que ZERE um generator quando mudar o Ano,
Mais ou menos Assim:
create trigger ZERAR_CODIGO_ANUAL
active on connect as
begin
execute statement 'ALTER SEQUENCE GEN_CODIGO_ANUAL RESTART WITH 0;';
end
mas não sei como reconhecer se é um novo ano
pensei em pegar a data maior de alguma tabela, e comparar o ano
mas não tenho certeza de como fazer, alguém poderia me dar alguma dica?
Zottis(TeamFB Users)
Zottis Sistemas - 2009 Ano XII
Programação Delphi/PHP/Firebird/MySQL
"Um homem só tem o direito de olhar
a um outro de cima para baixo, quando
vai ajuda-lo a levantar-se".
Gabriel Garcia Marquez
______________________________________________
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
Mais detalhes sobre a lista de discussão lista