Ir para conteúdo
  • Cadastre-se

dev botao

Como criar auto-increment quando banco de dados e criado em tempo de execução.


  • Este tópico foi criado há 540 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde!

Estou com problema, utilizo Lazarus e banco de dados Firebird (Flame Robin). Se eu criar estrutura do banco blz crio arquivo ini resolve problema do auto-increment uma vez que já gero generator e trigger para que crie sequência automática. Mas quando banco e as tabelas são criadas em tempo de execução? Tentei criar depois de criar a tabela, mas comando sql no Lazarus não dá erro só que não gera generator/trigger, portanto, não cria sequência de forma automática. Alguém poderia me dar uma luz desde já agradeço pela atenção.  

Link para o comentário
Compartilhar em outros sites

53 minutos atrás, Juliomar Marchetti disse:

boa tarde

o create do banco ao criar a tabela e criar o generator e depois o gatilho na tabela ou não?

Desculpa Juliomar na verdade depois de criar base de dados ai eu tentei criar generator tabela e depois trigger, mas não vai. Por acaso Query do Lazarus aceita tipo: Create generator inc_cidade; set generator inc_cidade to 1; (uso este comando para criar lá Frame Robin, tentei fazer isso no query. Já trigger depois de before insert position 0 new.id_cidade = gen_id(inc_cidade,1); comando trigger não cria lá flame robin. 

Não dá erro passa só que quando abro Flame Robin não cria nem generator e nem a trigger. A tabela sim é criada. 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Juliomar Marchetti disse:

boa tarde

o create do banco ao criar a tabela e criar o generator e depois o gatilho na tabela ou não?

ZConexao.sql.add('create generator inc_produto '+
                   'set generator inc_produto to 1');
  zConexao.sql.add('create trigger (cidade_bi for cidade '+
                   'active before insert position 0 '+
                   'new.id_cidade = gen_id(inc_cidade,1)');
    tentei usar assim no lazarus por meio da query. Roda cria tabela mais não cria generator e trigger consequente mente não gera auto-increment.                                                            

Link para o comentário
Compartilhar em outros sites

  • Moderadores

está parecendo que não tá commitando isso na base após criar a tabela. tente criar ela somente.

Execute o comando direto do zconnection cria a tabela depois faz de novo e criar o generator

e depois novamente e cria a trigger

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 540 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.