Olá pessoal eu tenho a seguinte tabela:
CREATE TABLE editora
(edi_codigo NUMBER (10), edi_nome VARCHAR2(70) NOT NULL
);
CREATE TABLE autor
(
aut_matricula NUMBER (10),
aut_nome VARCHAR2 (50) NOT NULL,
aut_cpf VARCHAR2(12) NOT NULL,
aut_dtnasc DATE NOT NULL,
aut_nascionalidade VARCHAR2(30)
);
CREATE TABLE livro
(
liv_codigo NUMBER(10),
liv_titulo VARCHAR2(70),
liv_preco NUMBER(7,2),
liv_lancamento DATE,
edi_codigo NUMBER(10),
ass_sigla CHAR(3) NOT NULL
);
CREATE TABLE assunto
(ass_sigla CHAR(3), ass_descricao VARCHAR2 (20)
);
ALTER TABLE editora ADD
(
CONSTRAINT editora_edi_codigo_pk PRIMARY KEY(edi_codigo)
)
;
ALTER TABLE livro ADD
(
CONSTRAINT livro_liv_codigo_pk PRIMARY KEY (liv_codigo)
)
;
ALTER TABLE autor ADD
(
CONSTRAINT autor_aut_matricula_pk PRIMARY KEY (aut_matricula)
)
;
ALTER TABLE assunto ADD
(
CONSTRAINT assunto_ass_sigla_pk PRIMARY KEY(ass_sigla)
)
;
ALTER TABLE livro ADD
(
CONSTRAINT livro_edi_codigo_fk FOREIGN KEY(edi_codigo) REFERENCES editora(edi_codigo)
)
;
ALTER TABLE livro ADD
(
CONSTRAINT livro_ass_sigla_fk FOREIGN KEY (ass_sigla) REFERENCES assunto(ass_sigla)
)
;
CREATE TABLE escreve
(
liv_codigo NUMBER(10),
aut_matricula NUMBER (10),
CONSTRAINT escreve_liv_aut_pk PRIMARY KEY(liv_codigo,aut_matricula),
CONSTRAINT escreve_liv_codigo_fk FOREIGN KEY (liv_codigo) REFERENCES livro (liv_codigo),
CONSTRAINT escreve_liv_aut_matricula_fk FOREIGN KEY (aut_matricula) REFERENCES autor(aut_matricula)
);
E então eu quero fazer um insert na tabela Livros:
INSERT
INTO livro
(
liv_codigo,
liv_titulo,
liv_preco,
liv_lancamento,
edi_codigo,
ass_sigla
)
VALUES
(
1,
'banco de dados para a web',
32.20,
'10/01/1999',
1,
'BAN'
);
Mas está apresentando um erro:
Relatório de erro:
Erro de SQL: ORA-02291: restrição de integridade (LUCCAS.LIVRO_ASS_SIGLA_FK) violada - chave mãe não localizada
02291. 00000 - "integrity constraint (%s.%s) violated - parent key not found"
Causa: Um valor de chave estrangeira não tem um valor de chave primária correspondente.
Ação: Exclua a chave estrangeira ou adicione uma chave primária correspondente.
Alguém poderia me ajudar? Porque está apresentando esse erro?