Fórum FOREIGN KEY #39951
07/11/2003
0
Saudações caros colegas!
Estou com algunhas dúvidas. Vejam o codigo abaixo.
* Table: TCD, Owner: SYSDBA */
CREATE TABLE ´TCD´
(
´CODCD´INTEGER NOT NULL,
´ESTILO´CHAR(25),
´TITULO´CHAR(20),
´ARTISTA´CHAR(30),
´BANDA´CHAR(30),
´NUMMUSIC´INTEGER,
PRIMARY KEY (´CODCD´)
);
SET TERM ^ ;
/* Triggers only will work for SQL triggers */
CREATE TRIGGER ´TESTE´ FOR ´TCD´
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.CODCD = GEN_ID(CODIGO,1);
END
^
COMMIT WORK ^
SET TERM ;^
/* Table: TMUSICAS, Owner: SYSDBA */
CREATE TABLE ´TMUSICAS´
(
´CODMUSICA´INTEGER NOT NULL,
´NOME´CHAR(30),
´AUTOR´CHAR(30),
´DATA´DATE,
´CODCD´INTEGER,
´TEMPO´TIME,
PRIMARY KEY (´CODMUSICA´)
);
ALTER TABLE ´TMUSICAS´ ADD FOREIGN KEY (´CODCD´) REFERENCES TCD (´CODCD´) ON UPDATE CASCADE ON DELETE CASCADE;
SET TERM ^ ;
/* Triggers only will work for SQL triggers */
CREATE TRIGGER ´TESTE2´ FOR ´TMUSICAS´
ACTIVE BEFORE INSERT POSITION 0
as
begin
NEW.CODCD = GEN_ID(NUM,1);
END
^
COMMIT WORK ^
SET TERM ;^
Toda vez que tento inserir algun novo registro na
tabela TMUSICAS, vem a seguinte menssagem:
violation of foreign key constraint ´INTEG_9´ on table ´TMUSICAS´
Lembrando que a tabela TCD já possui alguns registros. O que pode está
errado? :(
Estou com algunhas dúvidas. Vejam o codigo abaixo.
* Table: TCD, Owner: SYSDBA */
CREATE TABLE ´TCD´
(
´CODCD´INTEGER NOT NULL,
´ESTILO´CHAR(25),
´TITULO´CHAR(20),
´ARTISTA´CHAR(30),
´BANDA´CHAR(30),
´NUMMUSIC´INTEGER,
PRIMARY KEY (´CODCD´)
);
SET TERM ^ ;
/* Triggers only will work for SQL triggers */
CREATE TRIGGER ´TESTE´ FOR ´TCD´
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.CODCD = GEN_ID(CODIGO,1);
END
^
COMMIT WORK ^
SET TERM ;^
/* Table: TMUSICAS, Owner: SYSDBA */
CREATE TABLE ´TMUSICAS´
(
´CODMUSICA´INTEGER NOT NULL,
´NOME´CHAR(30),
´AUTOR´CHAR(30),
´DATA´DATE,
´CODCD´INTEGER,
´TEMPO´TIME,
PRIMARY KEY (´CODMUSICA´)
);
ALTER TABLE ´TMUSICAS´ ADD FOREIGN KEY (´CODCD´) REFERENCES TCD (´CODCD´) ON UPDATE CASCADE ON DELETE CASCADE;
SET TERM ^ ;
/* Triggers only will work for SQL triggers */
CREATE TRIGGER ´TESTE2´ FOR ´TMUSICAS´
ACTIVE BEFORE INSERT POSITION 0
as
begin
NEW.CODCD = GEN_ID(NUM,1);
END
^
COMMIT WORK ^
SET TERM ;^
Toda vez que tento inserir algun novo registro na
tabela TMUSICAS, vem a seguinte menssagem:
violation of foreign key constraint ´INTEG_9´ on table ´TMUSICAS´
Lembrando que a tabela TCD já possui alguns registros. O que pode está
errado? :(
Leaolima
Curtir tópico
+ 0
Responder
Posts
07/11/2003
Midas
vc ao inserir dados na tabela tmusicas vc esta gerando um codigo na trigger que ainda não existe na tabela de cds. Ai acontece a violação de chave estrangeira
Responder
Gostei + 0
08/11/2003
Leaolima
Obrigado amigo, resolvi o meu problema, cometi um erro primario. :)
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)