Auto-Numeração no Firebird
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
Allan Elias Ramos
Aersoftware
Curtidas 0
Respostas
Doom
03/05/2004
Olá amigo,
você precisa criar a generator no IB e depois uma trigger de auto numeração.
Exemplo:
É 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...
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...
GOSTEI 0
Aersoftware
03/05/2004
DooM.. o gerador eu consegui criar pelo IbExpert, mas como faço essa Trigger diretamente na tabela pelo modo gráfico??
Allan Elias Ramos :?:
Allan Elias Ramos :?:
GOSTEI 0
Doom
03/05/2004
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
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
GOSTEI 0
Leandro_si
03/05/2004
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
GOSTEI 0
Aersoftware
03/05/2004
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:
Allan Elias Ramos :cry:
GOSTEI 0
Fabio.hc
03/05/2004
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.
GOSTEI 0
Cláudiogyn
03/05/2004
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]
GOSTEI 0