none
actualizar un campo de una tabla diferente en sql server

    Question

  • hola tengo una duda tengo dos tablas unas que es facturas  y otra que es saldo

     

    quero buscar la forma de hacer que cuando cierre una factura  el directamente me actualice el campo de la tabla sumando el saldo inicial  mas el saldos con el total de la factura

    gracias espero ayuda pronto


    Diego Idarraga
    Thursday, September 30, 2010 7:26 PM

All replies

  • el directamente me actualice el campo de la tabla

    a que llamas directamente ? o sea no quieres hacerlo por codigo

    si es directo en tu db podrias usar un trigger

     

    Triggers en Transact SQL

    este lanza evento ante determinada accion sobre una tabla, o sea cuando actualizas la factura puedes validar en el trigger si se cerro y actualizar en una query la otra tabla, todo desde desde la propia db

    por supuesto esto funciona en sql server

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, September 30, 2010 7:29 PM
  • AKA HAY UN CODIGO MIO EL CUAL PUEDE OCUPAR PARA ACTUALIZAR..

     

     

            

    Dim query As String = "UPDATE Laboratorio " & _
    
                "SET Nombre = '" & NombreTextBox.Text & "' , Direccion = '" & DireccionTextBox.Text & "'," & _
    
                " Telefonos = '" & TelefonosTextBox.Text & "', Ciudad = '" & CiudadTextBox.Text & "'," & _
    
    " Extras = '" & ExtrasTextBox.Text & "', Extras2 = '" & Extras2TextBox.Text & "'"
    
    
    
        Using cn As New SqlConnection(cs)
    
          cn.Open()
    
    
    
          Dim cmd As New SqlCommand(query, cn)
    
    
    
          cmd.ExecuteNonQuery()
    
    
    
        End Using
    

     

    Thursday, September 30, 2010 7:31 PM
  • enotro porcedimiento tengo actualizar un cmapo del amisma tabla..que esta en 2 lo actualize  auno , pienso que tambien se puede hacer con ods tablas este es mi procedimiento base peor no se si me pueda servir

     

    USE

     

    [Vida_Sexual_Sana]

    GO

    /****** Object: StoredProcedure [dbo].[Actualizar_campo_uso2] Script Date: 09/30/2010 14:33:01 ******/

    SET

     

    ANSI_NULLS ON

    GO

    SET

     

    QUOTED_IDENTIFIER ON

    GO

    -- =============================================

    -- Author: Diego

    -- Create date: 26/09/2010

    -- Description:

    -- =============================================

    ALTER

     

    PROCEDURE [dbo].[Actualizar_campo_uso2]

     

    -- Add the parameters for the stored procedure here,empice a montarlo

    @codigo_docente

    nvarchar(10)

     

    As

     

    begin

    update

     

    codigoseguridad Set uso=1

    where

     

    codigo_docente=@codigo_docente

    End


    Diego Idarraga
    Thursday, September 30, 2010 7:33 PM
  • ahh bien usas Stored Procedure, en ese caso alli mismo puede agregsar un query mas debajo del update para actualziar la otra tabla

    justo debajo del update puede poner la otra query, entonces cuando cierres la factura se actualiza la otra tabla

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, September 30, 2010 7:50 PM
  • pero no se como no ghe podido

    he hecho lago como haciu peor esta malo

     

    USE

     

    [pyme]

    GO

    /****** Object: StoredProcedure [dbo].[Actualizar_campo_uso2] Script Date: 09/30/2010 14:53:42 ******/

    SET

     

    ANSI_NULLS ON

    GO

    SET

     

    QUOTED_IDENTIFIER ON

    GO

    -- =============================================

    -- Author: Diego

    -- Create date: 26/09/2010

    -- Description:

    -- =============================================

    create

     

    PROCEDURE [dbo].[Actualizar_saldocaja]

     

    -- Add the parameters for the stored procedure here,empice a montarlo

    @total

    int

    As

     

    begin

    --select Total from Facturas

    update

     

    [Saldo en caja] Set Total=Facturas.Total

    where

     

    Total=@total + Facturas.total

    end


    Diego Idarraga
    Thursday, September 30, 2010 8:03 PM