none
Cambiar valor de un campo (Bit) de una tabla Automáticamente en una fecha especifica anualmente (SQL) RRS feed

  • Pregunta

  • Buenos días, ya avía echo una pregunta similar.

    me avían indicado que el método mas viable para hacerlo el mediante un procedimiento almacenado y a la vez este procedimiento almacenado programarlo desde un Jobs

    Esta es mi tabla:

    Id_Reg, Nomb_Emp, Ape_Emp, Tel,Emp, Cel_Emp, Fecha_Reg, Fecha_Final, Habilitado

    los campos que utilizo son los marcados en negrita, la cual mi fecha final la comparo con la fecha actual del sistema, la idea es que si mi Fecha_Final es: 28-12-2018 al llegar esa fecha, me cambie mi campo Habilitado a un valor false (Previamente es un valor True en el momento del registro), lo que pretendo hacer que cambie todo valor true automáticamente en la fecha 28-12 de cada año.

    Nota: Solo ocupo cambiar ese valor, no todos los datos de la tabla

    Alguna sugerencia de como hacerlo..

    Muchas gracias a quien se tome la molestia en ayudar :)

    martes, 27 de marzo de 2018 15:42

Respuestas

  • Si, el caso se resuelve desde SQL Server programando una tarea para que se actualice en la fecha indicada, para ello necesitas una edición de pago de SQL Server. También podrías ejecutar la actualización con el programador de tareas de Windows.

    Otra forma es definiendo la columna 'Habilitado' como columna calculada, por ejemplo:

    ALTER TABLE dbo.TableName ADD Habilitado 
    	AS CASE WHEN FORMAT(GETDATE(), 'dd/MM') = '28/12' 
    		AND FORMAT(Fecha_Final, 'dd/MM') = '28/12' THEN 0 ELSE 1 END
    GO


    martes, 27 de marzo de 2018 16:24