ME AJUDEM-ERRO AO CRIAR UMA CONSTRAINTS

Firebird

26/11/2003

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:


Fanny Evangelista

Fanny Evangelista

Curtidas 0

Respostas

Afarias

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+


GOSTEI 0
Fanny Evangelista

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


GOSTEI 0
Afarias

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+


GOSTEI 0
POSTAR