[firebase-br] Res: RES: Gerador

Jáber jaber em confesoft.com.br
Ter Jan 18 13:43:48 -03 2011


Olá Renato. 

Infelizmente não deu tempo de responder..rs 

Seguinte, se você precisa apenas saber qual o valor do último valor gerado
use assim: 

 

SELECT GEN_ID(NomeDoGenerator,0) FROM NomeTabela 

 

Pois se você usar da forma que estava você vai ver sempre o valor
incrementado com 1 (um). 

Caso você queira alterar o valor do generator você pode usar algo mais ou
menos assim: 

 

ALTER SEQUENCE NOMEDOGENERATOR RESTART WITH NUMEROQUEVOCEQUER 

 

Espero ter ajudado... 

 

Abraço.... 

 

 

 

 

Jáber S. C. Lima 

Confesoft Automação Comercial 

 

(66)9613-2594 

(66)3426-2171 

 

-------Mensagem original------- 

 

De: Renato 

Data: 01/18/11 12:27:49 

Para: 'FireBase' 

Assunto: [firebase-br] RES: Gerador 

 

Bom já que ninguém respondeu eu encontrei a como fazer.. vou postar aqui 

pois a minha duvida pode ser a duvida de outras pessoas.. 

 

======================== 

Para obter o valor de um generator através de uma aplicação, podemos 

executar o comando SELECT mostrado a seguir sobre uma tabela que possua 

apenas um registro: 

 

SELECT GEN_ID(NomeDoGenerator, 1) FROM NomeTabela 

 

Onde NomeTabela é o nome de uma tabela do banco de dados que precisa ter um,


e somente um, registro. Geralmente usamos a tabela de sistema RDB$DATABASE 

para este propósito. Eis um exemplo: 

SELECT GEN_ID(Gen_Cliente_Codigo, 1) FROM RDB$DATABASE; 

======================= 

 

 

Grato 

 

Renato 

 

 

 

-----Mensagem original----- 

De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em 

nome de Renato 

Enviada em: terça-feira, 18 de janeiro de 2011 10:47 

Para: 'FireBase' 

Assunto: [firebase-br] Gerador 

 

Bom dia pessoal, 

 

 

 

Alguém pode me tirar uma duvida , dever ser uma coisa simples.. 

 

 

 

Eu uso em uma base de dados um Gerador 

 

 

 

CREATE GENERATOR "TB_ANUNCIANTE_RECNUM_GEN"; 

 

 

 

E eu acesso ele a partir de uma trigger simples. 

 

 

 

CREATE TRIGGER "TB_ANUNCIANTE_BI" FOR "TB_ANUNCIANTE" 

 

ACTIVE BEFORE INSERT POSITION 0 

 

AS 

 

begin 

 

IF (NEW.RECNUM IS NULL) THEN 

 

NEW.RECNUM = GEN_ID(TB_ANUNCIANTE_RECNUM_GEN, 1); 

 

 

 

new.DTUPDATE=CURRENT_TIMESTAMP; 

 

new.DTCADASTRO=CURRENT_TIMESTAMP; 

 

end 

 

 

 

ou seja ele só é usando quando o valor de RECNUM é nulo. 

 

 

 

A minha pergunta é, eu consigo dar um select no gerador para saber em que 

numero ele esta e tb tem como eu colocar o valor que eu quiser nele? 

 

 

 

Grato 

 

 

 

Renato 

 

 

 

renato em vertice.ind.br 

 

Tel./Fax. 55-11-5522-9978 

 

Controle da Concorrência - Ltda. 

 

Vértice - Ind. e Com. de Equip. Eletrônicos Ltda. 

 

Vértice - Tecnologia, Engenharia e Consultoria - Ltda. 

 

 

 

______________________________________________ 

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




Mais detalhes sobre a lista de discussão lista