[firebase-br] Ajuda em Triger
NextCorp Informática
nextcorp em terra.com.br
Sex Jun 19 13:34:03 -03 2009
Oi Zottis
Somente agora pude responder, segue um exemplo que utilizo a muito tempo em
clientes, pode ser que sirva. Coloco ela no form principal e tenho um
arquivo .ini.
Se o ano for diferente, neste caso gero dados para uma outra tabela...
procedure TfmPrincipal.FormActivate(Sender: TObject);
var
wanoatu : String;
begin
{verifica se o ano corrente e diferente do ano atual}
wanoatu:=
LeIni(ExtractFilePath(Application.ExeName)+'\nextcorp','Outros','AnoAtu');
//ano corrente
if Copy(DateToStr(Date),7,4) <> wanoatu then
begin
{executa procedure para gerar dieese}
dmDados.IB_Transaction1.StartTransaction;
xpedMsg.Text:= 'Gerando dados para Dieese, reverente ao
ano de '+wanoatu;
with dmDados.IB_StoredProc2 do
begin
Close;
StoredProcName:= 'SP_DIE_GERA_ESTATISTICA';
ParamByName('wano').asString:= wanoatu;
if not Prepared then
Prepare;
ExecProc;
end;
end;
{Muda o anoatu}
if
FileExists(ExtractFilePath(Application.ExeName)+'\nextcorp.ini') then
begin
GravaIni(ExtractFilePath(Application.ExeName)+'\nextcorp','Outros','AnoAtu',
Copy(DateToStr(Date),7,4));
dmDados.IB_Transaction1.Commit;
xpedMsg.Text:= 'Dados gerados !!!';
end
else
begin
ShowMessage('Configurações especiais não forão salvas !!!
Informe ao Suporte da NextCorp !!!');
dmDados.IB_Transaction1.Rollback;
dmDados.IB_Connection1.Disconnect;
Application.Terminate;
Close;
end;
end;
Atenciosamente
Washington André Muller da silva
#######################
NextCorp Informática Ltda
www.nextcorp.com.br
nextcorp em terra.com.br
0xx-(51)-3037-6605
#######################
----- 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
E-mail verificado pelo Terra Anti-Spam.
Para classificar esta mensagem como spam ou não spam, visite
http://ecp.terra.com.br/cgi-bin/reportspam.cgi?+_d=SCY0NzQ4MTEjcGVybSF0ZXJyYSYxLDEyNDU0MTY1MDQuNTUzNDA4LjUyOTEudHJpYnVuZS50ZXJyYS5jb20sNDE4MA==TerraMail
Verifique periodicamente a pasta Spam para garantir que apenas mensagens
indesejadas sejam classificadas como Spam.
--------------------------------------------------------------------------------
No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 8.5.339 / Virus Database: 270.12.80/2187 - Release Date: 06/19/09
06:53:00
Mais detalhes sobre a lista de discussão lista