SQL Server Constraints

17/05/2012

0

Caros amigos do Fórum. Preciso de uma ajuda.

Tenho uma base de dados onde tem várias tabelas. Precisei excluir alguns arquivos de duas tabelas. Então desabilitei as constraints de uma, a tabela pai, deletei o registros que eu queria e então desabilitei as constraints da tabela filho e exclui das tabelas filhos de acordo com o valor da foreingn KEY. ou seja:

- Depois de ter deletado registros da tabela pai, fiz um delete na tabela filho.

delete from <tabela filho> where not exists (select * from <tabela pai> where <tabelapai>.<chaveprimaria>=<tabelafilho>.<chaveestrangeira>)

Só que depois disso não consegui fechar a constraint.

Fiz um select para descobrir qual registros da tabela filho era dependente da tabela pai.

select * from <tabela filho> where not exists (select * from <tabela pai> where <tabelapai>.<chaveprimaria>=<tabelafilho>.<chaveestrangeira>)

E nao tive resultado.

Preciso descobrir qual registro na tabela filho está impedindo o fechamento da constraint. Teria como saber no momento do Alter Table Constraint? Ou seja, tento habilitar a constraint e quero receber uma informação do registro que está inpedindo. Tem como?

Obrigado!!!

Josemar Silva

Josemar Silva

Responder

Posts

17/05/2012

Josemar Silva

caaaaros amigos do fórum. preciso de uma ajuda.

tenho uma base de dados onde tem várias tabelas. precisei excluir alguns arquivos de duas tabelas. então desabilitei as constraints de uma, a tabela pai, deletei o registros que eu queria e então desabilitei as constraints da tabela filho e exclui das tabelas filhos de acordo com o valor da foreingn key. ou seja:

- depois de ter deletado registros da tabela pai, fiz um delete na tabela filho.

delete from <tabela filho> where not exists (select * from <tabela pai> where <tabelapai>.<chaveprimaria>=<tabelafilho>.<chaveestrangeira>).


só que depois disso não consegui fechar a constraint.

fiz um select para descobrir qual registros da tabela filho era dependente da tabela pai.

select * from <tabela filho> where not exists (select * from <tabela pai> where <tabelapai>.<chaveprimaria>=<tabelafilho>.<chaveestrangeira>)

e nao tive resultado.

preciso descobrir qual registro na tabela filho está impedindo o fechamento da constraint. teria como saber no momento do alter table constraint? ou seja, tento habilitar a constraint e quero receber uma informação do registro que está inpedindo. tem como?

obrigado!!!

Responder

17/05/2012

Joel Rodrigues

Que mensagem de erro você recebe ao tentar habilitar a constraint?
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar