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!!!
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
Curtir tópico
+ 0
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!!!
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
Clique aqui para fazer login e interagir na Comunidade :)