none
Como Atualizar dados depois de uma exclusão? RRS feed

  • Pergunta

  • Eu tenho uma tabela no SQL 2005 onde  estou excluindo uma linha, mas a tabela continua me mostrando os dados excluidos, ou seja não está atualizando.

    Gostaria de saber como faço para atualizar os  valores.

    Estou usando este codigo.

    DELETE

     

    FROM

     

    Pedido

    WHERE

     

    Pedido

    .PedidoID = 49

    Se alguem puder me ajudar eu agradeço.
    quarta-feira, 11 de novembro de 2009 12:20

Respostas

  • Rafalima,

    Veja se este exemplo ajuda:

    Begin Transaction T1



    If @@Errro=0 Begin DELETE FROM Pedido WHERE Pedido.PedidoID = 49 COMMIT Transaction T1 End Else Rollback Transaction T1

    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 11 de novembro de 2009 13:00
    Moderador

Todas as Respostas

  • Rafa, você já verificou se existe alguma trigger para tabela, ela pode estar fazendo o rollback da transação por alguma regra de negocio


    Select A.*
      from Sys.Triggers A
           Inner Join Sys.Objects B On A.Parent_Id = B.object_id
     Where B.name = 'Pedido'
    Tks. Fausto Fiorese Branco DBA - SQL Server 2k5 São Paulo - Brasil * http://www.linkedin.com/in/faustobranco
    quarta-feira, 11 de novembro de 2009 12:28
  • Rafa, você já verificou se existe alguma trigger para tabela, ela pode estar fazendo o rollback da transação por alguma regra de negocio


    Select A.*
      from Sys.Triggers A
           Inner Join Sys.Objects B On A.Parent_Id = B.object_id
     Where B.name = 'Pedido'
    Tks. Fausto Fiorese Branco DBA - SQL Server 2k5 São Paulo - Brasil * http://www.linkedin.com/in/faustobranco

    Na verdade estou utilizando o visual studio 2008 para manipular esta  Query, como não consegui respostas em c# transferi o código para cá.

    O que ocorre é o siguinte, o próprio banco não atualiza a tabela ficando amostra o dado excluido. Somente quando eu reinicio a tabela que os dados que foram excluido desaparecem.
    quarta-feira, 11 de novembro de 2009 12:43
  • Tá com cara de transação... falta um commit depois do delete.
    Tks. Fausto Fiorese Branco DBA - SQL Server 2k5 São Paulo - Brasil * http://www.linkedin.com/in/faustobranco
    quarta-feira, 11 de novembro de 2009 12:45
  • Tá com cara de transação... falta um commit depois do delete.
    Tks. Fausto Fiorese Branco DBA - SQL Server 2k5 São Paulo - Brasil * http://www.linkedin.com/in/faustobranco

    Como faço isto?? Pois sou iniciante.
    quarta-feira, 11 de novembro de 2009 12:50
  • Não sei exatamente como você faz isso no C#, mas antes do delete ou na criação da conexção deve ter um comando parecido com Conexao.BeginTransaction , logo apos o execute do delete no C# deveria ter algo como Conexao.CommitTransaction;

    Mas não vou conseguir te ajudar muito daqui, deixo a questão p/ quem conhece C#.....
    Tks. Fausto Fiorese Branco DBA - SQL Server 2k5 São Paulo - Brasil * http://www.linkedin.com/in/faustobranco
    quarta-feira, 11 de novembro de 2009 12:56
  • Rafalima,

    Veja se este exemplo ajuda:

    Begin Transaction T1



    If @@Errro=0 Begin DELETE FROM Pedido WHERE Pedido.PedidoID = 49 COMMIT Transaction T1 End Else Rollback Transaction T1

    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 11 de novembro de 2009 13:00
    Moderador
  • Obrigado! Fausto
    quarta-feira, 11 de novembro de 2009 13:23