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

Ayuda con procedure

Estas en el tema de Ayuda con procedure en el foro de SQL Server en Foros del Web. Saludos bueno mi problema es el siguiente yo tengo un procedimiento que coro todos los dias ahy alguna forma ejemplo exec p_alumnos hay alguna forma ...
  #1 (permalink)  
Antiguo 09/01/2006, 13:11
 
Fecha de Ingreso: diciembre-2003
Mensajes: 595
Antigüedad: 20 años, 4 meses
Puntos: 1
Ayuda con procedure

Saludos bueno mi problema es el siguiente yo tengo un procedimiento que coro todos los dias ahy alguna forma

ejemplo exec p_alumnos

hay alguna forma de decirle a ese procedimiento que se corra exactamente igual pero agregandoles una fecha anterior o de dias pasados no se algo asi se que esta mal pero es solo para que se entienda

exec p_alumno getdate() -1

o algo semejante espero alguien me pueda ayudar
  #2 (permalink)  
Antiguo 09/01/2006, 16:09
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Para sumar o restar fechas usas DateAdd

EXEC p_alumno DateAdd(Day, -1, GetDate())
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 09/01/2006, 16:15
 
Fecha de Ingreso: diciembre-2003
Mensajes: 595
Antigüedad: 20 años, 4 meses
Puntos: 1
Cita:
Iniciado por Mithrandir
Para sumar o restar fechas usas DateAdd

EXEC p_alumno DateAdd(Day, -1, GetDate())
me envia el siguiente error

Server: Msg 170, Level 15, State 1, Line 1
Línea 1: sintaxis incorrecta cerca de 'Day'.
  #4 (permalink)  
Antiguo 10/01/2006, 15:01
 
Fecha de Ingreso: diciembre-2003
Mensajes: 595
Antigüedad: 20 años, 4 meses
Puntos: 1
me sige marcando el error que puse arriba
  #5 (permalink)  
Antiguo 11/01/2006, 16:36
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
PRINT DateAdd(Day, -1, GetDate())

Funciona bien, pareciera algún problema en el llamado al SP, o dentro del SP mismo
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #6 (permalink)  
Antiguo 11/01/2006, 16:55
 
Fecha de Ingreso: diciembre-2003
Mensajes: 595
Antigüedad: 20 años, 4 meses
Puntos: 1
Cita:
Iniciado por Mithrandir
PRINT DateAdd(Day, -1, GetDate())

Funciona bien, pareciera algún problema en el llamado al SP, o dentro del SP mismo

mmm el procedimiento lo corro solo asi:

exec procedimiento


y me corre bien pero al agregarle:

EXEC procedimiento DateAdd(Day, -1, GetDate())

me marca este error:



Server: Msg 170, Level 15, State 1, Line 1
Línea 1: sintaxis incorrecta cerca de 'Day'.
  #7 (permalink)  
Antiguo 12/01/2006, 13:01
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Entonces debes modificar tu procedimiento para que reconozca el parámetro de entrada

CREATE PROCEDURE dbo.procedimiento(
@fecha SmallDateTime
) AS...
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #8 (permalink)  
Antiguo 12/01/2006, 13:07
 
Fecha de Ingreso: diciembre-2003
Mensajes: 595
Antigüedad: 20 años, 4 meses
Puntos: 1
Cita:
Iniciado por Mithrandir
Entonces debes modificar tu procedimiento para que reconozca el parámetro de entrada

CREATE PROCEDURE dbo.procedimiento(
@fecha SmallDateTime
) AS...
agrege lo que me indicaste y me envia este error

Server: Msg 201, Level 16, State 4, Procedure datos, Line 0
El procedimiento 'datos' precisa el parámetro '@fecha', que no se ha especificado.
  #9 (permalink)  
Antiguo 12/01/2006, 13:14
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Hmm entonces prueba llamarlo así para hacer un enlace explícito con el parámetro:

EXEC p_alumno @fecha = DateAdd(Day, -1, GetDate())
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #10 (permalink)  
Antiguo 12/01/2006, 13:15
 
Fecha de Ingreso: diciembre-2003
Mensajes: 595
Antigüedad: 20 años, 4 meses
Puntos: 1
Cita:
Iniciado por Mithrandir
Hmm entonces prueba llamarlo así para hacer un enlace explícito con el parámetro:

EXEC p_alumno @fecha = DateAdd(Day, -1, GetDate())
me regresa al error original



Server: Msg 170, Level 15, State 1, Line 1
Línea 1: sintaxis incorrecta cerca de 'Day'.
  #11 (permalink)  
Antiguo 12/01/2006, 14:00
 
Fecha de Ingreso: septiembre-2005
Mensajes: 73
Antigüedad: 18 años, 7 meses
Puntos: 0
Prueba con esto:

EXEC p_alumno @fecha =(Select DateAdd(Day, -1, GetDate()))
__________________
Henry :-D
  #12 (permalink)  
Antiguo 12/01/2006, 14:02
 
Fecha de Ingreso: diciembre-2003
Mensajes: 595
Antigüedad: 20 años, 4 meses
Puntos: 1
Cita:
Iniciado por pineda
Prueba con esto:

EXEC p_alumno @fecha =(Select DateAdd(Day, -1, GetDate()))
me envia este error

Server: Msg 170, Level 15, State 1, Line 1
Línea 1: sintaxis incorrecta cerca de 'Day'.
Server: Msg 170, Level 15, State 1, Line 2
Línea 2: sintaxis incorrecta cerca de '('.
  #13 (permalink)  
Antiguo 12/01/2006, 14:12
 
Fecha de Ingreso: septiembre-2005
Mensajes: 73
Antigüedad: 18 años, 7 meses
Puntos: 0
Y que tal así:

DECLARE @fecha SMALLDATETIME
SET @fecha=(SELECT DATEADD(DAY, -1, GETDATE()))
EXEC p_alumno @fecha
__________________
Henry :-D
  #14 (permalink)  
Antiguo 12/01/2006, 14:34
 
Fecha de Ingreso: diciembre-2003
Mensajes: 595
Antigüedad: 20 años, 4 meses
Puntos: 1
Cita:
Iniciado por pineda
Y que tal así:

DECLARE @fecha SMALLDATETIME
SET @fecha=(SELECT DATEADD(DAY, -1, GETDATE()))
EXEC p_alumno @fecha
Bueno la buena noticia es que ya me corre el procedimiento nuevamente jee la mala es que lo corre normal como lo tenia originalmente sin haberle agregado el @fecha SMALLDATETIME

y no me toma en cuenta el digamos -1 o la fecha uqe quiera que me de datos de ese dia en especifico
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 00:53.