[firebase-br] Alterar Generator dentro de Stored Procedure
Felipe Giotto
felipe em metasoftware.com.br
Qui Out 6 12:53:58 -03 2005
Tem uma solução mais fácil, fazendo só um SELECT, não precisa nem de
SP!!!! Montei esse SQL algum tempo atrás e normalmente eu faço desse
jeito quando tenho que gravar o valor máximo de uma tabela em um
generator.... :D
Tente dessa forma:
SELECT GEN_ID(NOME_GEN, (SELECT MAX(CAMPO) FROM TABELA) -
GEN_ID(NOME_GEN,0)) FROM RDB$DATABASE
Espero ter ajudado,
Felipe Giotto ;-)
Valdir Marcos wrote:
>Caso sirva para mais alguém, veja a solução que eu fiz.
>Ela vê primeiro o maior número na tabela, depois corrigi o generator.
>
>/**********************************************************/
>/* P063 - Procedure sp_Generator */
>/**********************************************************/
>
>Drop Procedure sp_Generator;
>Commit;
>
>Set Term ^;
>Create Procedure sp_Generator(Tabela VarChar(100),
> Campo VarChar(100),
> Gerador VarChar(100))
>Returns ( iGerador Integer)
>as
>begin
> Execute Statement 'Select Coalesce(Max(' || Campo || '),0) From ' || Tabela Into :iGerador;
> Execute Statement 'Set Generator ' || Gerador || ' to ' || :iGerador || ';';
> Suspend;
>end^
>
>Set Term ^;
>Commit;
>**********************************************
>
>Commit;
>Select * From sp_Generator('AgendaOperador', 'CodAgO', 'gnt_CodAgO');
>
>
>
>No iBest, suas horas navegadas valem pontos que podem ser trocados por prêmios. Sem sorteio! Inscreva-se já! www.navegueeganhe.com.br
>
>
>
>------------------------------------------------------------------------
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antiga
>
Mais detalhes sobre a lista de discussão lista