[firebase-br] Criação de Foreign Key
Patricia Aparecida Ayres
patricia.ayres em bol.com.br
Ter Jun 18 16:45:38 -03 2013
Boa Tarde,
Estou tendo dificuldades em criar uma Foreign Key em um banco de dados Firebird 1.5, através de um script.
Ocorre que é executado um Alter Table criando a Foreign Key ocorre um erro informando que a tabela de referencia está em uso.
O que devo fazer para que a Foreign Key seja criada? O que pode estar acontecendo?
O erro é o seguinte:
ISC ERROR CODE:335544351
ISC ERROR MESSAGE:
unsuccessful metadata update
object TB_BONUS is in use
O script que estou usando é este:
CREATE TABLE TB_BONUS
(
CD_BONUS INTEGER NOT NULL,
CD_SEMESTRE VARCHAR(07) CHARACTER SET NONE NOT NULL,
PROGRAMACAO VARCHAR(12) CHARACTER SET NONE NOT NULL,
QT_ALUNOS INTEGER,
QT_META_ALUNOS_NOVOS INTEGER,
CONSTRAINT "PK_BONUS" PRIMARY KEY ("CD_BONUS")
);
COMMIT;
CREATE TABLE TB_BONUS_PROFESSOR
(
CD_BONUS INTEGER NOT NULL,
CD_FUNCIONARIO INTEGER NOT NULL,
QT_ALUNOS_PROF INTEGER,
CONSTRAINT "PK_BONUS_PROFESSOR" PRIMARY KEY ("CD_BONUS","CD_FUNCIONARIO")
);
COMMIT;
ALTER TABLE TB_BONUS_PROFESSOR
ADD CONSTRAINT FK_TB_BONUS_PROFESSOR_1 FOREIGN KEY (CD_BONUS) REFERENCES TB_BONUS (CD_BONUS) ON UPDATE NO ACTION ON DELETE NO ACTION,
ADD CONSTRAINT FK_TB_BONUS_PROFESSOR_2 FOREIGN KEY (CD_FUNCIONARIO) REFERENCES FUNCIONARIOS (CD_FUNCIONARIO) ON UPDATE NO ACTION ON DELETE NO ACTION;
COMMIT;
Att.
Patrícia
Mais detalhes sobre a lista de discussão lista