Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

actualizar en procedimiento almacenado o trigger

Estas en el tema de actualizar en procedimiento almacenado o trigger en el foro de SQL Server en Foros del Web. saludos tengo un problema, y necesito de su ayuda lo que quiero es crear un trigger o si se puede elaborar en procedimiento almacenado mejor ...
  #1 (permalink)  
Antiguo 20/05/2011, 19:11
 
Fecha de Ingreso: mayo-2011
Mensajes: 20
Antigüedad: 12 años, 11 meses
Puntos: 1
Información actualizar en procedimiento almacenado o trigger

saludos tengo un problema, y necesito de su ayuda lo que quiero es crear un trigger o si se puede elaborar en procedimiento almacenado mejor lo que nesecito es que el atributo activo de la tabla trabajador si se paso de la fecha de la tabla contrato se actualize el activo a 'n' voi a dejar las tablas espero de su ayuda.
tengo algo que hice lo que no entiendo mucho es como ponerlo en un trigger o procedimiento almacenado.
las tablas:
TABLA TRABAJADOR:
Código SQL:
Ver original
  1. CREATE TABLE [dbo].[T_Trabajador](
  2.     [Tra_Codigo] [CHAR](5) ,
  3.     [Tra_Nombre] [VARCHAR](30) ,
  4.     [Tra_Apellido] [VARCHAR](30),
  5.         [Tra_Activo] [CHAR](1)

TABLA CONTRATO:
Código SQL:
Ver original
  1. CREATE TABLE [dbo].[T_Contrato](
  2.     [Con_Codigo] [CHAR](5),
  3.     [Tra_Codigo] [CHAR](5),
  4.         [Con_IniFecha] [datetime] ,
  5.     [Con_TerFecha] [datetime]

Código SQL:
Ver original
  1. UPDATE t_trabajador
  2. SET tra_activo = 'n'
  3. WHERE tra_codigo IN
  4. (
  5. SELECT t_trabajador.Tra_Codigo,Con_TerFecha
  6.  FROM t_trabajador INNER JOIN t_contrato ON
  7. t_trabajador.tra_codigo = t_contrato.tra_codigo
  8.  WHERE Con_TerFecha >= getdate()
  9. )
  #2 (permalink)  
Antiguo 21/05/2011, 11:08
 
Fecha de Ingreso: mayo-2011
Mensajes: 20
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: actualizar en procedimiento almacenado o trigger

elabore un procedimiento pero lo que necesito es k se actualice solo no que tenga k coloar y dependiendo de la fecha espero que me puedan ayudar aqui les dejo el avance del procedimiento que eh hecho!!

Código SQL:
Ver original
  1. CREATE PROCEDURE pa_actua_Activo_trab
  2. (
  3. @cod CHAR (5),
  4. @activo CHAR (1)
  5. )
  6. AS
  7.     SET NOCOUNT OFF;
  8. UPDATE t_trabajador
  9. SET Tra_Codigo = @cod, tra_activo = @activo
  10. WHERE Tra_Codigo = @cod
  11.  
  12. SELECT t_trabajador.Tra_Codigo,Con_TerFecha
  13.  FROM t_trabajador INNER JOIN t_contrato ON
  14. t_trabajador.tra_codigo = t_contrato.tra_codigo
  15.  WHERE Con_TerFecha >= getdate()
  16. GO
  #3 (permalink)  
Antiguo 21/05/2011, 23:34
 
Fecha de Ingreso: mayo-2011
Mensajes: 20
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: actualizar en procedimiento almacenado o trigger

una ayuda porfa..!!!!
  #4 (permalink)  
Antiguo 24/05/2011, 16:00
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: actualizar en procedimiento almacenado o trigger

Puedes colocar tu codigo en un JOB que se ejecute todos los dias, ya que comparando con la fecha del servidor (GETDATE()), te daria el resultado que esperas.

Solo que no utilices JOIN, utiliza el EXISTS, que es mucho mas rapido
__________________
MCTS Isaias Islas
  #5 (permalink)  
Antiguo 24/05/2011, 19:22
Avatar de abel_c_b  
Fecha de Ingreso: junio-2008
Mensajes: 103
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: actualizar en procedimiento almacenado o trigger

No te parece mejor que sea el mismo usuario el que finalice el contrato???

Etiquetas: procedimiento, trigger, almacenar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:14.