Fórum Auto incremento, que não incrementa! #40061
13/11/2003
0
eu tenho o seginte script para gerar uma tabela e depois o generator e a trigger:
CREATE TABLE ESPECIALIDADE
(
CODIGO_ESPECIALIDADE INTEGER NOT NULL,
NOME_ESPECIALIDADE VARCHAR(30) NOT NULL,
PRIMARY KEY (CODIGO_ESPECIALIDADE)
);
CREATE GENERATOR ESPECIALIDADE_GEN;
SET TERM ^!;
CREATE TRIGGER SET_CODIGO_ESPECIALIDADE FOR ESPECIALIDADE
ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN
NEW.CODIGO_ESPECIALIDADE = GEN_ID(ESPECIALIDADE_GEN,1);
END ^!
SET TERM ^!;
O que tem de errado, pois toda vez que eu tento inserir alguma coisa ele não preenche automaticamente o campo codigo_especialidade e da erro no comando insert.
CREATE TABLE ESPECIALIDADE
(
CODIGO_ESPECIALIDADE INTEGER NOT NULL,
NOME_ESPECIALIDADE VARCHAR(30) NOT NULL,
PRIMARY KEY (CODIGO_ESPECIALIDADE)
);
CREATE GENERATOR ESPECIALIDADE_GEN;
SET TERM ^!;
CREATE TRIGGER SET_CODIGO_ESPECIALIDADE FOR ESPECIALIDADE
ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN
NEW.CODIGO_ESPECIALIDADE = GEN_ID(ESPECIALIDADE_GEN,1);
END ^!
SET TERM ^!;
O que tem de errado, pois toda vez que eu tento inserir alguma coisa ele não preenche automaticamente o campo codigo_especialidade e da erro no comando insert.
Nocode
Curtir tópico
+ 0
Responder
Posts
13/11/2003
Afarias
O Interbase vai SIM preencher o campo (DA TABELA NO BANCO) com o valor incremental!! -- MAS, *nunca* irá preencher o ´campo´ (TField) no seu programa... não tem como!! O servidor cuida ´apenas´ do banco de dados, entende??
AUTO-INCREMENTO a nível de banco de dados não é uma boa abordágem quando vc precisa saber do código gerado na aplicação cliente -- no momento da inclusão!
Para estes casos, use os generators ´NO CLIENTE´ (nada de triggers), e.... bom, existem uma pá de mensagens sobre isso nestes fóruns, a citar::
http://delphiforum.icft.com.br/forum/viewtopic.php?t=27059&highlight=generator
http://delphiforum.icft.com.br/forum/viewtopic.php?t=26668&highlight=generator
http://delphiforum.icft.com.br/forum/viewtopic.php?t=23926&highlight=generator
http://delphiforum.icft.com.br/forum/viewtopic.php?t=23964&highlight=generator
http://delphiforum.icft.com.br/forum/viewtopic.php?t=22657&highlight=generator
T+
AUTO-INCREMENTO a nível de banco de dados não é uma boa abordágem quando vc precisa saber do código gerado na aplicação cliente -- no momento da inclusão!
Para estes casos, use os generators ´NO CLIENTE´ (nada de triggers), e.... bom, existem uma pá de mensagens sobre isso nestes fóruns, a citar::
http://delphiforum.icft.com.br/forum/viewtopic.php?t=27059&highlight=generator
http://delphiforum.icft.com.br/forum/viewtopic.php?t=26668&highlight=generator
http://delphiforum.icft.com.br/forum/viewtopic.php?t=23926&highlight=generator
http://delphiforum.icft.com.br/forum/viewtopic.php?t=23964&highlight=generator
http://delphiforum.icft.com.br/forum/viewtopic.php?t=22657&highlight=generator
T+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)