Fórum Duvidas no insert #458591

16/10/2013

0

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

Responder

Posts

16/10/2013

Deivison Melo


/*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 ; ^
Responder

Gostei + 0

17/10/2013

Jonas Vargas

Deivison

obrigado pela resposta.

criei um trigger como me indicou

entao meu codigo ficou assim

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


obrigado





Responder

Gostei + 0

17/10/2013

Deivison Melo

Por nada amigo, qualquer coisa estamos por aqui!

Estarei finalizando o tópico!

Abração e bons códigos!!!
Responder

Gostei + 0

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

Aceitar