Estou com problemas na hora de inserir dados em uma tabela gerada apartir de uma relação n p/ n.
Se trata da tabela telefonePessoa (essa tabela tem os campos cod_telefone, e cod_pessoa, que vem das tabelas telefone e pessoa).
O problema esta no fato da tabela Pessoa ter duas tabelas filhas (pessoajuridica e pessoafisica).
Eu ja cadastrei varias pessoas fisicas e varias pessoas juridicas, e também varios telefones,
porem na hora que eu tento inserir algo na tabela telefonePessoa da erro, dizendo que a cod_pessoa não existe(porém existe, tanto na tabela pessoa, tanto na tabela pessoajuridica[ou pessoafisica]).
Se eu cadastrar um pessoa, ao inves de cadastrar uma pessoajuridica ou pessofisica, e usar o codigo de pessoa da certo.
Alguem pode me dizer o que estou fazendo de errado?
Script de criação da tabela telefone
[color=blue]CREATE TABLE Telefone(
cod_telefone integer DEFAULT nextval(‘cod_telefone_seq’),
cod_tipo integer not null,
numero varchar(10) not null,
constraint pk_telefone primary key(cod_telefone),
constraint fk_telefone_1 foreign key(cod_tipo) references TipoTelefone(cod_tipo),
constraint fk_telefone_2 foreign key(cod_representante) references Representante(cod_representante)
);[/color]
Script de criação da tabela pessoa:
[color=blue]CREATE TABLE Pessoa(
cod_pessoa integer DEFAULT nextval(‘cod_pessoa_seq’),
cod_endereco integer not null,
nome varchar (100) null,
email varchar(20) null,
data_cadastro date not null,
pagina_web varchar(30) null,
imagem bytea not null,
constraint pk_pessoa primary key(cod_pessoa),
constraint fk_pessoa foreign key(cod_endereco) references Endereco(cod_endereco)
);[/color]
Script de criação da tabela pessoajuridica:
[color=blue]create table PessoaJuridica(
razao_social varchar(50) not null,
cnpj varchar(20) not null,
insc_estadual varchar(20) not null
)INHERITS (Pessoa[color=blue]
Script de criação da tabela telefonePessoa:
[color=blue]create table TelefonePessoa (
cod_telefone integer not null,
cod_pessoa integer not null,
constraint pk_telefonepessoa primary key (cod_telefone,cod_pessoa),
constraint fk_telefonepessoa_1 foreign key (cod_telefone) references Telefone (cod_telefone),
constraint fk_telefonepessoa_2 foreign key (cod_pessoa) references Pessoa (cod_pessoa)
);
Script de inserção na tabela telefonepessoa:
[color=blue]INSERT INTO telefonepessoa (cod_telefone, cod_pessoa) VALUES (2,3);[/color]
Obs. os valores 2 e 3 existem nas tabelas pessoa e telefone.
Desde ja, obrigado pela ajuda.
[/color]