Carregando ...
Desculpe, ocorreu um erro ao carregar o conteúdo.

33171RES: [mssql-l] Sp para excluir registro

Expandir mensagens
  • Dalmiro
    28 de jan 02h54min

      Obrigado pelo retorno

      São só 3 tabelas envolvidas.

      Teoricamente só uma pessoa vai rodar esta SP e poucas vezes, pois quando o usuário achar um bom momento para a limpeza irá executar.

      Tenho 2 possibilidades...vou fazer uns testes...

      1 – tratar cada tabela

      2 – na sp, alterar a constraint para deixar apagar por cascata e no final do processo voltar a constraint para a forma normal...

       

      Irei testar

      Obrigado

      att

       

       

      De: mssql-l@... [mailto:mssql-l@...]
      Enviada em: sexta-feira, 22 de janeiro de 2016 14:16
      Para: mssql-l@...
      Assunto: Re: [mssql-l] Sp para excluir registro

       

       

      Boa tarde Dalmiro,

       

      Analisa o impacto de recriar os indices.  

      - Quantas tabelas estao envolvidas?

      - Voce pode quebrar as constrais (drop), rodar um truncate nas tabelas envolvidas e depois criar os inices novamente, fica mais rapido.  MAS!!!

      - O objetivo e apagar todo o conteudo? ou ha alguma regra de negocio que deva ser respeidata?

       

      Nos conte um pouco mais sobre a sua necessidade, este procedimento sempre ira se repetir, se sim a procedure ja é um bom caminho.

      Caso contrario, ve as tabelas envolvidas de executa o drop das contrains e trunca as tabelas.

       

      Atenciosamente,
      André Luiz R. Marques
      Administrador de Banco de Dados - SQL Server/Oracle

      Tel: (21) 99978-4564

       

      Evite imprimir. Colabore com o Meio Ambiente!

       

      "Embora ninguém possa voltar atrás e fazer um novo começo, qualquer um pode
      começar agora e fazer um novo fim."

                     Chico Xavier

       

      Em Sexta-feira, 22 de Janeiro de 2016 13:18, "'Dalmiro' dalmiroy@... [mssql-l]" <mssql-l@...> escreveu:

       

       

      Boa tarde pessoal,

      Tenho que criar uma sp, para exclusão de registros, mas a tabela principal tem relação com outras 2 tabelas e estas relações não foram criadas com referencias on delete cascade.

      Dúvidas

      1 – Posso recriar a contraint com esta referencia? Como?

      2 – Uma saída é fazer um select e depois loop e deletar os registros das tabelas relacionadas e depois a principal, é uma boa saída?

      3 – Para opção 2 como faço para colocar transação pois acho melhor para cada volta do loop, fazer o controle da transação, e uma boa?

      4 – Alguma dica?

       

      Obrigado

      att

       

      Este e-mail foi enviado por um computador sem vírus e protegido pelo Avast.
      www.avast.com

       

      Este e-mail foi enviado por um computador sem vírus e protegido pelo Avast.
      www.avast.com
    • Mostrar todas as 13 mensagens neste tópico