[firebase-br] RES: Alterar valor generator

UNIBRAS - PROGRAMAÇÃO programacao em unibrasdistribuidora.com.br
Ter Abr 19 15:42:39 -03 2011


Segue abaixo uma função que acredito, resolve seu problema


Att.


José Aparecido
Softmaxi Tecnologia em Software
www.softmaxi.com.br


function  proximocodigo(chave : string) : integer;


 

 

function  ProximoCodigo(Variavel : string):integer;

var QueryConsulta : TSqlDataSet;

begin

   QueryConsulta := TSQLDataSet.Create(Application);

   QueryConsulta.SQLConnection := Nome_Da_Conexao_Banco;

   QueryConsulta.Close;

   QueryConsulta.CommandText := 'SELECT RDB$GENERATOR_NAME AS NOVO FROM
RDB$GENERATORS WHERE RDB$GENERATOR_NAME = :NOME';

   QueryConsulta.ParamByName('Nome').Value := 'GEN_' + UpperCase(Variavel);

   QueryConsulta.Open;

 

   if VarIsNull(QueryConsulta['NOVO']) then begin

      QueryConsulta.Close;

      QueryConsulta.CommandText := 'CREATE GENERATOR '+'GEN_' +
UpperCase(Variavel);

      QueryConsulta.ExecSQL(False);

      QueryConsulta.CommandText := 'SET GENERATOR '+'GEN_' +
UpperCase(Variavel) + ' TO 1';

      QueryConsulta.ExecSql(False);

      Result := 1;

   end

   else begin

      QueryConsulta.Close;

      QueryConsulta.CommandText := 'SELECT CAST(GEN_ID('+'GEN_' +
UpperCase(Variavel)+',1) AS INTEGER) AS VALOR FROM RDB$DATABASE';

      QueryConsulta.Open;

      Result := QueryConsulta['Valor'];

   end;

   QueryConsulta.Close;

   QueryConsulta.Destroy;

end;//

 

 
 
"Antes de imprimir, pense em sua responsabilidade com o MEIO AMBIENTE."
 
 “Esta mensagem pode conter informações confidenciais, somente podendo ser
usada pelo indivíduo ou entidade a quem foi endereçada. A transmissão
incorreta da mensagem não acarreta a perda de sua confidencialidade. Caso
esta mensagem tenha sido recebida por engano, solicitamos que comunique o
remetente e apague-a de seu sistema imediatamente. É vedado a qualquer
pessoa que não seja o destinatário usar, revelar, distribuir ou copiar
qualquer parte desta mensagem.”
 

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Alysson Gonçalves de Azevedo
Enviada em: terça-feira, 19 de abril de 2011 14:48
Para: FireBase
Assunto: Re: [firebase-br] Alterar valor generator

Use uma SP, coloque o resultado da query numa variavel e depois sete o
generator.


Alysson Gonçalves de Azevedo
(11) 8491-7730

(\(''^_^ )/)

"Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião
formada sobre tudo." [Raul Seixas]

WebRep
Overall rating




Em 19 de abril de 2011 14:36, Levy Moreira
<levymoreira.ce em gmail.com>escreveu:

> Gente preciso setar o valor de um generator como resultado de um 
> select
> tipo:
>
> GEN_ACTIONS_ID =  select max(codloj) from loj
>
> mas não sei como fazer podem me dar uma luz, estava tentando assim:
>
> ALTER SEQUENCE NM_GEN RESTART WITH (select max(codloj) from loj)
>
> mas ta dando erro.
>
> Obrigado a todos desde já.
>
>
> --
> Levy Moreira - Programador
> Sistech Informática - Juazeiro do Norte - CE
>
>
............................................................................
> "Aviso de confidencialidade profissional" - Esta mensagem eletrônica e 
> seus anexos são destinados exclusivamente ao(s) destinatário(s) acima 
> e podem conter informações confidenciais sujeitas a restrição legal de 
> comunicação entre as partes. Caso tenha recebido esta mensagem por 
> engano, fica V.S.ª ciente de que a distribuição, divulgação ou 
> disseminação das informações aqui contidas ou anexadas é 
> terminantemente proibida, sujeitando o responsável às penalidades 
> aplicáveis. Assim, solicitamos a gentileza de retorná-la de imediato 
> ao remetente, eliminando-a definitivamente de seu sistema. Em caso de 
> dúvida, queira por favor entrar em contato."
>
> "Confidentiality notice" - This message and its attachments are 
> addressed solely to the persons above and may contain privileged and 
> confidential communication. If you have received the message in error, 
> the distribution or dissemination of the content hereof is prohibited. 
> Please return it immediately to the sender and please delete the 
> message from your system on a permanent basis. Should you have any 
> questions, please contact."
>
>
............................................................................
> ______________________________________________
> 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


-----
Nenhum vírus encontrado nessa mensagem.
Verificado por AVG - www.avgbrasil.com.br
Versão: 10.0.1209 / Banco de dados de vírus: 1500/3582 - Data de Lançamento:
04/18/11






Mais detalhes sobre a lista de discussão lista