Fórum Auto-Numeração no Firebird #44003

03/05/2004

0

Pessoal, como faço pra criar um campo Auto-Numeração em uma tabela do firebird.. estrou criando pelo IbExpert... gostaria de fazer isso pois no programa q estou fazendo, nao pretendo exibir o código dos registros em nenhum momento.. e na hora de inserir os registros, nao precisar digitar o código..



Allan Elias Ramos


Aersoftware

Aersoftware

Responder

Posts

04/05/2004

Doom

Olá amigo,
você precisa criar a generator no IB e depois uma trigger de auto numeração.
Exemplo:

CREATE GENERATOR AUTO_NUMERACAO; CREATE TRIGGER AUTO_NUMERA_CLIENTE FOR TB_CLIENTES BEFORE INSERT POSITION 0 AS BEGIN NEW.COD_CLIENTE=GEN_ID(AUTO_NUMERACAO, 1); END


É essa a idéia pro Interbase lembrando que uma generator tem que ser a primeira coisa a ser criada no banco senão você não vai conseguir cria-la.

Espero ter ajudado, falow...


Responder

Gostei + 0

04/05/2004

Aersoftware

DooM.. o gerador eu consegui criar pelo IbExpert, mas como faço essa Trigger diretamente na tabela pelo modo gráfico??



Allan Elias Ramos :?:


Responder

Gostei + 0

04/05/2004

Doom

Bem... como assim por modo gráfico???
Eu sei fazer na unha mesmo, digitando no ISQL do IbConsole....
Ae eu fico te devendo

Tipo não sei se vai pro seu caso, mas o Afarias ja citou muitas vezes aqui para se usar o generator field, propriedade da query ou sqlset lah.
Ele diz que essa opção é boa pra quando se quer ter o código na hora, não é seu caso mas creio que funcionaria do mesmo jeito e seria uma maneira visual de vc criar.

Agora fazendo a trigger mesmo é aquele jeito lah....

Falow


Responder

Gostei + 0

05/05/2004

Leandro_si

DooM.. o gerador eu consegui criar pelo IbExpert, mas como faço essa Trigger diretamente na tabela pelo modo gráfico?? Allan Elias Ramos :?:


é so ir no editor do ibexpert e digitar o trigger desejado.. no proprio trigger tem o nome da tabela.. como no exemplo do DooM.

CREATE GENERATOR AUTO_NUMERACAO; 
CREATE TRIGGER AUTO_NUMERA_CLIENTE FOR [b]TB_CLIENTES[/b] 
BEFORE 
INSERT POSITION 0 AS BEGIN 
NEW.COD_CLIENTE=GEN_ID(AUTO_NUMERACAO, 1); 
END 



Responder

Gostei + 0

08/05/2004

Aersoftware

Leandro, eu descobri como se faz, mas nao consigo fazer ele funcionar.. sempre q coloco no delphi um novo registro, ele me da um erro na hora de inserir pedindo o código, e eu tenho q colocar manualmente..



Allan Elias Ramos :cry:


Responder

Gostei + 0

09/05/2004

Fabio.hc

No table/query que vc esta usando vc adiciona os campos pelo fields editor e na propriedade required do campo q é autoincremento vc coloca como false. Asim o delphi não pede para informar o codigo.


Responder

Gostei + 0

15/06/2004

Cláudiogyn

No table/query que vc esta usando vc adiciona os campos pelo fields editor e na propriedade required do campo q é autoincremento vc coloca como false. Asim o delphi não pede para informar o codigo.




Só que ai some o numero do edit como mante-lo???

[color=red:057cbac4dd][b:057cbac4dd][i:057cbac4dd]Editado para facilitar a leitura (quotes inseridas). (marcelo.c - Moderador)[/i:057cbac4dd][/b:057cbac4dd][/color:057cbac4dd]


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar