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.


Chnet1

Chnet1

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


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar