Duvidas no insert

Firebird

16/10/2013

Ola

estou migrando do postgre para o firebird.

primeira tentativa de salvar já me deparei com um problema

no postgre eu criava as tabelas com o primeiro campo sendo código e tipo serial, para ele ser preenchido pelo próprio banco de dados.

estou utilizando o IB Expert para gerenciar o meu Firebird.

nele marquei o Create Generator, para que ele auto preencha o campo código.

e na minha linha INSERT no programa ficava da seguinte maneira

INSERT into teste (codigo, nome)" + "VALUES (default,?) 



bem... eu já descobri que o defaut


alguém me da uma luz

obrigado!
Jonas Vargas

Jonas Vargas

Curtidas 0

Respostas

Deivison Melo

Deivison Melo

16/10/2013


/*Criado um generator*/
CREATE GENERATOR AGenerator;

/*Inicializando o generator*/
SET GENERATOR AGenerator TO 0;

/*Usando o generator*/
SELECT GEN_ID(AGenerator, 1) from RDB$DATABASE


É recomendável utilizar uma trigger para isso!!

Exemplo melhor abaixo:

1.Crie um Generator para a tabela:
Ex.:
CREATE GENERATOR GEN_SUATABELA;

2.Crie uma TRIGGER para a tabela

Ex.:
SET TERM ^ ;

^
CREATE TRIGGER TG_INCREMENTO FOR SUATABELA
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  if (NEW.ID IS NULL) then
  NEW.ID = GEN_ID( GEN_SUATABELA, 1);
END
^

SET TERM ; ^
GOSTEI 0
Jonas Vargas

Jonas Vargas

16/10/2013

Deivison

obrigado pela resposta.

criei um trigger como me indicou

entao meu codigo ficou assim

"String sql = "INSERT into banco (banc_nome)" + "VALUES (?)";


obrigado





GOSTEI 0
Deivison Melo

Deivison Melo

16/10/2013

Por nada amigo, qualquer coisa estamos por aqui!

Estarei finalizando o tópico!

Abração e bons códigos!!!
GOSTEI 0
POSTAR