none
SELECT UPDATE --- COMO HACERLO? RRS feed

  • Pregunta

  • BUENAS TARDES, 

    NECESITO URGENTEMENTE SABER COMO SE HACE UN SELECT UPDATE ( COMO EL DE ORACLE O MYSQL ),  ALGUIEN ME PODRIA AYUDAR?

    GRACIAS POR LA AYUDA, DIOS LOS BENDIGA


    Jorge Quesada

    viernes, 20 de septiembre de 2013 19:25

Respuestas

  • Quieres el valor antes de actualizar o después de actualizar ?? si es esto, puedes aplicar lo siguiente, observa el ejemplo:

    DECLARE @t TABLE( valor VARCHAR(10) )
    
    INSERT INTO @t
    VALUES( 'uno'),('dos' )
    
    
    SELECT * FROM @t
    
    UPDATE @t
    SET valor = 'tres' 
    OUTPUT inserted.valor as nuevoValor , deleted.valor as anteriorValor
    
    DELETE FROM  @t
    
    INSERT INTO @t
    VALUES( 'uno'),('dos' )
    
    
    SELECT * FROM @t
    
    UPDATE @t
    SET valor = 'tres' 
    OUTPUT inserted.valor as nuevoValor , deleted.valor as anteriorValor
    WHERE valor = 'dos'
    



    Sergio Sánchez Arias
    Oaxaca,México
    AYÚDANOS A AYUDARTE

    viernes, 20 de septiembre de 2013 20:32

Todas las respuestas

  • Hola:

    No estoy familiarizado con esa sentencia, como funciona o que es lo que hace ?


    Sergio Sánchez Arias
    Oaxaca,México
    AYÚDANOS A AYUDARTE

    viernes, 20 de septiembre de 2013 19:31
  • En mysql y oracle por ejemplo, podes hacer un select e inmediatamente hacer un update sobre el mismo registro que se selecciono.

    Este es un ejemplo en MySql

    SELECT CONSECUTIVO FROM conec_consecutivo WHERE ID_CONSECUTIVO = 2  FOR UPDATE;
    UPDATE conec_consecutivo SET CONSECUTIVO = CONSECUTIVO + 1 WHERE ID_CONSECUTIVO = 2;
    


    Jorge Quesada

    viernes, 20 de septiembre de 2013 19:40
  • No es suficiente con el solo UPDATE ?

    UPDATE conec_consecutivo SET CONSECUTIVO = CONSECUTIVO + 1 WHERE ID_CONSECUTIVO = 2;

    Si no es así, creo que no te estoy comprendiendo.


    Sergio Sánchez Arias
    Oaxaca,México
    AYÚDANOS A AYUDARTE

    viernes, 20 de septiembre de 2013 19:59
  • es que ocupo seleccionar un valor e inmediatamente actualizarlo,  estamos haciendo un socket y lo estoy ocupando urgentamente!


    Jorge Quesada

    viernes, 20 de septiembre de 2013 20:07
  • Quieres el valor antes de actualizar o después de actualizar ?? si es esto, puedes aplicar lo siguiente, observa el ejemplo:

    DECLARE @t TABLE( valor VARCHAR(10) )
    
    INSERT INTO @t
    VALUES( 'uno'),('dos' )
    
    
    SELECT * FROM @t
    
    UPDATE @t
    SET valor = 'tres' 
    OUTPUT inserted.valor as nuevoValor , deleted.valor as anteriorValor
    
    DELETE FROM  @t
    
    INSERT INTO @t
    VALUES( 'uno'),('dos' )
    
    
    SELECT * FROM @t
    
    UPDATE @t
    SET valor = 'tres' 
    OUTPUT inserted.valor as nuevoValor , deleted.valor as anteriorValor
    WHERE valor = 'dos'
    



    Sergio Sánchez Arias
    Oaxaca,México
    AYÚDANOS A AYUDARTE

    viernes, 20 de septiembre de 2013 20:32
  • Quiero el valor antes de actualizar!



    Jorge Quesada

    viernes, 20 de septiembre de 2013 21:06
  • Ya probaste el ejemplo que te propongo ???

    el OUTPUT deleted.valor te da el valor que fue actualizado, y inserted.valor te da el nuevo valor.

    Que versión de sql server tienes ?


    Sergio Sánchez Arias
    Oaxaca,México
    AYÚDANOS A AYUDARTE

    viernes, 20 de septiembre de 2013 23:50