none
Actualizar tabla en sql server con un procedimiento almacenado RRS feed

  • Pregunta

  • Espero puedan apoyarme soy nuevo en esto de la programación y me surgen muchas dudas. Ya investigue y no encuentro nada relacionado.

    Tengo una tabla en sql server: Estatus_Boleto(id_boleto, boleto, Fecha, Fecha_Expira, Estatus), estos datos se han llenado con otro procedimiento y mediante c# (la fecha de expiracion tiene vigencia de 5horas) aqui lo que necesito hacer es actualizar mi tabla, es decir cuando se ingrese el boleto al sistema, cambie el estatus de 1 que es activo a un numero 2 que indica que se utilizo y que la fecha de expiracion ya se cancele. En caso contrario, es decir que en las 5 hrs que tiene vigencia le boleto no lo usen, entonces se venza la fecha y el estatus del boleto cambie a 3 que es expirado. 

    Esto es lo que llevo, pero no se como poner esas condiciones, he buscado y nada

    CREATE PROCEDURE dbo.ActualizarEstatus_Boleto
    	
    	@id_boleto int,
    	@Estatus
    	
    AS
    BEGIN
    	UPDATE	Fecha_Generado = GETDATE(),
    			Fecha_Expira = ,
    			Estatus = 2
    		where id_Boleto=@id_boleto
    END
    GO

     
    • Editado Amuñoz jueves, 26 de marzo de 2020 20:09 error de descripcion
    jueves, 26 de marzo de 2020 20:07

Respuestas

  • Si puedes enviar mas información acerca de a que tablas haces los INSERT a la hora de reportar el boleto, te podemos buscar una mejor forma de ayudarte.


    Oscar Navarro

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    • Marcado como respuesta Amuñoz jueves, 26 de marzo de 2020 21:45
    jueves, 26 de marzo de 2020 21:34
    Moderador

Todas las respuestas

  • ¡Hola! ayúdame a comprender más el caso. Tu dices "es decir cuando se ingrese el boleto al sistema, cambie el estatus de 1 que es activo a un numero 2...". Cuando dices ingresar el boleto al sistema, ¿a que tabla se hace el insert?
    jueves, 26 de marzo de 2020 21:10
  • Hola

     

    Gracias por levantar tu consulta en los foros de MSDN. Estamos analizando su pregunta y vamos a darle seguimiento para buscar la mejor repuesta pertinente al caso.

     

    Gracias por usar los foros de MSDN.

     


    Oscar Navarro

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    jueves, 26 de marzo de 2020 21:20
    Moderador
  • Si puedes enviar mas información acerca de a que tablas haces los INSERT a la hora de reportar el boleto, te podemos buscar una mejor forma de ayudarte.


    Oscar Navarro

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    • Marcado como respuesta Amuñoz jueves, 26 de marzo de 2020 21:45
    jueves, 26 de marzo de 2020 21:34
    Moderador
  • ¡Hola! ayúdame a comprender más el caso. Tu dices "es decir cuando se ingrese el boleto al sistema, cambie el estatus de 1 que es activo a un numero 2...". Cuando dices ingresar el boleto al sistema, ¿a que tabla se hace el insert?

    Hola, gracias por responder. Si, es que tengo un procedimiento almacenado con el cual ingreso al sistema el boleto que se regala para canjearlo por un producto gratis. Cuando se genera el boleto se guardan datos en mi primer tabla: Boleto_Generado(id_boleto, Producto, Codigo, Fecha_Generado), el mismo procedimiento manda datos a mi tabla estatus_boleto(id_boleto, Codigo, Fecha_Utilizado, Fecha_Expira, Estatus). Ahora lo que realizo es ingresar en un form el codigo generado para que el cliente reclame el prodcto, como el estatus del boleto es  o sea activo, quiero que si el cliente lo usa, se cambie el estatus a 2 o en caso que no lo use, se pase a 3. Ademas de que ahora se guarde la fecha en que se ingresa el boleto... He avanzado un poco y llevo esto

    CREATE PROCEDURE dbo.ActualizarEstatus_boleto
    	
    	@id_boleto int,
    	@Estatus
    	
    AS
    BEGIN
    	UPDATE dbo.Estatus_boleto
    
    		SET Fecha_Generado = GETDATE(),
    			Estatus = (SELECT CASE WHEN DATEDIFF(HOUR, Fecha_Expira, GETDATE()) > 0 THEN 2
    	   ELSE  3 --2 ocupado, 3 expirado 
        END,
    		where id_boleto=@id_boleto
    END
    GO


    • Editado Amuñoz jueves, 26 de marzo de 2020 21:45
    jueves, 26 de marzo de 2020 21:44