ME AJUDEM-ERRO AO CRIAR UMA CONSTRAINTS
Alguém pode me ajudar ??
Tenho uma tabela de produtos e outra tabela de itens da NF
Não posso deixar o usuário deletar o produto se ele estiver na tabela
de NF
Estrutura do produto
codigo varchar(20) not null,
descricao varchar(60),
.... etc
Chave primaria desta tabela
codigo
Estrutura da tabela de itens da nota
produto varchar(20),
... etc
Todos os produtos que utilizo na tabela de itens da nota tem na tabela produto, porém quando vou executar o comando:
alter table Notaite
add constraint FK_produto_NotaIte
Foreign Key (produto) references produto(codigo)
ocorre o erro abaixo:
This operation is not defined for system tables.
unsuccessful metadata update.
STORE RDB$REF_CONSTRAINTS failed.
action cancelled by trigger (1) to preserve data integrity.
Name of Referential Constraint not defined in constraints table.
Se alguém puder me esclarecer eu agradeço
Obrigada
Fanny,
:oops:
Tenho uma tabela de produtos e outra tabela de itens da NF
Não posso deixar o usuário deletar o produto se ele estiver na tabela
de NF
Estrutura do produto
codigo varchar(20) not null,
descricao varchar(60),
.... etc
Chave primaria desta tabela
codigo
Estrutura da tabela de itens da nota
produto varchar(20),
... etc
Todos os produtos que utilizo na tabela de itens da nota tem na tabela produto, porém quando vou executar o comando:
alter table Notaite
add constraint FK_produto_NotaIte
Foreign Key (produto) references produto(codigo)
ocorre o erro abaixo:
This operation is not defined for system tables.
unsuccessful metadata update.
STORE RDB$REF_CONSTRAINTS failed.
action cancelled by trigger (1) to preserve data integrity.
Name of Referential Constraint not defined in constraints table.
Se alguém puder me esclarecer eu agradeço
Obrigada
Fanny,
:oops:
Fanny Evangelista
Curtidas 0
Respostas
Afarias
26/11/2003
O erro apresentado aparenta q, existe sim, registros de codigo de produto na tabela itens que não existem na tabela produtos.
geralmente as chaves estrangeiras são criadas quando não há registro na tabela q a receberá.
para verificar os registros ´errados´ vc poderia fazer::
select * from tabela_items i
where not exists (select 1 from produtos where codigo = i.produto)
T+
geralmente as chaves estrangeiras são criadas quando não há registro na tabela q a receberá.
para verificar os registros ´errados´ vc poderia fazer::
select * from tabela_items i
where not exists (select 1 from produtos where codigo = i.produto)
T+
GOSTEI 0
Fanny Evangelista
26/11/2003
AFARIAS
Executei o comando que vc me enviou
select * from tabela_items i
where not exists (select 1 from produtos where codigo = i.produto)
e não apareceu nenhum registro,
então delete todos os registros da tabela item da NF
e executei novamente as constraints, porém o erro continuou
o que será que estou fazendo de errado?
Se vc puder continuar me ajudando agradeço
Fanny
Executei o comando que vc me enviou
select * from tabela_items i
where not exists (select 1 from produtos where codigo = i.produto)
e não apareceu nenhum registro,
então delete todos os registros da tabela item da NF
e executei novamente as constraints, porém o erro continuou
o que será que estou fazendo de errado?
Se vc puder continuar me ajudando agradeço
Fanny
GOSTEI 0
Afarias
26/11/2003
Oi Fanny,
Estranho este seu problema... não estou visualizando o q pode ser exatamente.
Qual a versão do IB (ou FB) que vc está usando?? E, que ferramenta está usando para ´administrar´ sua base (IBConsole??) ?
Se puder me passar o script completo destas tabelas do seu banco (ou mesmo um backup do banco -- se não for grande) posso dar uma olhada.
Aliais, vc já tentou fazer um backup e restaurar??? pode ser algum ´lixo´ ... faça isso e veja o no q dá!
T+
Estranho este seu problema... não estou visualizando o q pode ser exatamente.
Qual a versão do IB (ou FB) que vc está usando?? E, que ferramenta está usando para ´administrar´ sua base (IBConsole??) ?
Se puder me passar o script completo destas tabelas do seu banco (ou mesmo um backup do banco -- se não for grande) posso dar uma olhada.
Aliais, vc já tentou fazer um backup e restaurar??? pode ser algum ´lixo´ ... faça isso e veja o no q dá!
T+
GOSTEI 0