Banco de Dados Microsoft SQL Server 2000

28/05/2015

0

Boa tarde,

Estou com um problema no meu banco de dados no SQL Server 2000.
Não consigo apagar os registros dos campos do SQL, alguém poderia me ajudar como ativar novamente a exclusão dos dados.

Obs: O gerenciador do Meu Computador está ativado e funcionando normalmente, mas só na hora de apagar ocorre o erro:

[Microsoft][ODBC SQL Server][SQL Server]DELETE statement conflicted with COLUMN REFERENCE constraint 'Name da Tabela'. The conflict occurre in database 'FK_Name', table 'Name',column'id'.
[Microsoft][ODBC SQL Server][SQL Server] The statement has been terminated.

Agradeço desde já.
Milton Honji

Milton Honji

Responder

Post mais votado

28/05/2015

Minha primeira pergunta, é em ambiente de produção?

Existe algum relacionamento dos campos com outra tabela?

Mariana Carvalho

Mariana Carvalho
Responder

Mais Posts

28/05/2015

Fabiano Carvalho

Esse registro que voce está tentando deletar possui referente de chave primária.
Para conseguir executar terá que deletar suas dependencias, ou então tentar alterar a CONSTRAINT para delete cascade. Pesqueise sobre, caso não consiga solucionar, retorne.
Responder

28/05/2015

Mariana Carvalho

Tinha esquecido do delete cascade, isso apaga dados de tabelas relacionadas não é?
Responder

29/05/2015

Milton Honji

é ambiente de produção e o sistema funciona em formato de processos.
Mariana.
Responder

29/05/2015

Jothaz

Tinha esquecido do delete cascade, isso apaga dados de tabelas relacionadas não é?


Sim!

Agora dever ser utilizado com muita atenção e critério, senão você poder matar dados indevidamente.

Por exemplo você exclui um estado na tabela ESTADOS e tudo o que faz referência a este registro é excluído junto.
Responder

29/05/2015

Milton Honji

Fabiano C,

Eu já tentei rever o comando Deletar, ele não consegue fazer nada, se eu remover a chave primaria ele irá desvincular todas as tabelas.

Agradeço
Responder

29/05/2015

Fabiano Carvalho

Não é remover e sim colocar o Cascade nela.
São muitos registros a serem deletados?
pelo amor de Deus realize backup antes do delete
Responder

29/05/2015

Milton Honji

Não é remover e sim colocar o Cascade nela.
São muitos registros a serem deletados?
pelo amor de Deus realize backup antes do delete


São sim muitos para ser deletado.

é a melhor coisa realizar o backup antes.
Responder

29/05/2015

Fabiano Carvalho

Verifique essa solução http://stackoverflow.com/questions/13244889/how-to-alter-constraint

Um backup simples das tabelas envolvidas é

SELECT * INTO [TABLE_NAME_BACKUP]
FROM [TABLE_NAME]
Responder

29/05/2015

Jothaz

Não é remover e sim colocar o Cascade nela.
São muitos registros a serem deletados?
pelo amor de Deus realize backup antes do delete


São sim muitos para ser deletado.

é a melhor coisa realizar o backup antes.


Mais que fazer backup você dever certificar-se do que o procedimento que você vai realizar esta correto.
Se a base é de produção um deleção em cascata pode ser catastrófica.
Antes de mais nada verifique no seu modelo todas as implicações e todas as tabelas afetadas.
Se você não tem experiência com banco de dados pense 10 vezes antes de tomar qualquer atitude.
Faça um backup de tudo e tenha certeza do que esta fazendo, já vi muita demissão por atitudos intempestivas.

Agora isto é somente minha humilde opinião.
Responder

29/05/2015

Mariana Carvalho

Entendi bem a ideia.
Sim!

Agora dever ser utilizado com muita atenção e critério, senão você poder matar dados indevidamente.

Por exemplo você exclui um estado na tabela ESTADOS e tudo o que faz referência a este registro é excluído junto.


Muita atenção mesmo nesses casos, pelo amor...!!!
Não é remover e sim colocar o Cascade nela.
São muitos registros a serem deletados?
pelo amor de Deus realize backup antes do delete
Responder

29/05/2015

Isaac Jose

bom dia a todos, Milton Honji siga os conselhos do Jothaz faça um Bkp. e manipule isso para fazer os testes que precisa.
na minha opinião esse erro te salvou pois se não tivesse essa trava vc provavelmente teria feito algo que nao seria exatamente o que queria.

abraços.
Responder

29/05/2015

Marcos P

Cara... muita calma nessa hora !!!

Olha bem o que você vai fazer...
Responder

29/05/2015

Jothaz


pelo amor de Deus realize backup antes do delete

bom dia a todos, Milton Honji siga os conselhos do Jothaz faça um Bkp. e manipule isso para fazer os testes que precisa.
na minha opinião esse erro te salvou pois se não tivesse essa trava vc provavelmente teria feito algo que nao seria exatamente o que queria.
abraços.

Cara... muita calma nessa hora !!!
Olha bem o que você vai fazer...


Preste muita atenção nos alertas.
A deleção em cacasta normalmente não é recomendada, pois se usada de forma incorreta ou impensada pode fazer um oco no seu banco de dados.

O Isaac Jose e o Marcos P estão cobertos de razão e talvez o delete não funcionar te salvou.

A contraint de Integridade referencial é uma das melhores coisas do BD´s relacionais.
Então não é que o comando delete esteja com erro, esta simplesmente se comportando como foi definido no modelo e evitando que alguém desavisado faça exclusões impensadas.

Antes de tomar qualquer atitude certifique-se de que entendeu completamente qual vai ser o impacto no seu banco de dados
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