auto inc
27/02/2003
0
Estou utilizando o Interbase 6.1 e Delphi 5.
E estou fazendo o seguinte:
Criei uma tabela;
CREATE TABLE ´MEDICO´
(´CDMEDICO´ INTEGER NOT NULL,
´NMMEDICO´ CHAR(30),
´ESPECIALIDADE´ CHAR(30),
PRIMARY KEY (´CDMEDICO´)
Criei um Generator;
create generator gen_medico;
Depois Criei uma Trigger
CREATE TRIGGER ´TG_MORTE´ FOR ´MEDICO´
ACTIVE BEFORE INSERT POSITION 0
as
Begin
new.cdmedico = Gen_id(Gen_medico,1);
End
Gostaria de saber como é que eu faço no delphi porque não consigo fazer funcionar. Ele da a seguinte erro
FIELD CDMEDICO must have a value.
E estou fazendo o seguinte:
Criei uma tabela;
CREATE TABLE ´MEDICO´
(´CDMEDICO´ INTEGER NOT NULL,
´NMMEDICO´ CHAR(30),
´ESPECIALIDADE´ CHAR(30),
PRIMARY KEY (´CDMEDICO´)
Criei um Generator;
create generator gen_medico;
Depois Criei uma Trigger
CREATE TRIGGER ´TG_MORTE´ FOR ´MEDICO´
ACTIVE BEFORE INSERT POSITION 0
as
Begin
new.cdmedico = Gen_id(Gen_medico,1);
End
Gostaria de saber como é que eu faço no delphi porque não consigo fazer funcionar. Ele da a seguinte erro
FIELD CDMEDICO must have a value.
Chnet1
Curtir tópico
+ 0
Responder
Posts
08/03/2003
Anonymous
Tá quase tudo certo. Só falta as seguintes considerações:
Quando for dada a intrução INSERT, faça-o da seguinte forma:
Insert into MEDICO values (Null, ´Dr Anderson´, ´Brincadeira´)
ou:
Insert into MEDICO
(CDMEDICO, NMMEDICO, ESPECIALIDADE)
values
(Null, ´Dr Anderson´, ´Brincadeira´)
REPARE: nas duas situações o campo ´CDMEDICO´ está NULO. Quem deve preenchê-lo é a Trigger, sendo que nesta ainda falta fazer o seguinte ajuste:
Begin
if (new.CDMEDICO is Null) then
new.cdmedico = Gen_id(Gen_medico, 1);
End
Creio que vai funcionar.
andersonbox
Quando for dada a intrução INSERT, faça-o da seguinte forma:
Insert into MEDICO values (Null, ´Dr Anderson´, ´Brincadeira´)
ou:
Insert into MEDICO
(CDMEDICO, NMMEDICO, ESPECIALIDADE)
values
(Null, ´Dr Anderson´, ´Brincadeira´)
REPARE: nas duas situações o campo ´CDMEDICO´ está NULO. Quem deve preenchê-lo é a Trigger, sendo que nesta ainda falta fazer o seguinte ajuste:
Begin
if (new.CDMEDICO is Null) then
new.cdmedico = Gen_id(Gen_medico, 1);
End
Creio que vai funcionar.
andersonbox
Responder
Clique aqui para fazer login e interagir na Comunidade :)