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

Store Procedure

Estas en el tema de Store Procedure en el foro de Bases de Datos General en Foros del Web. Hola lo que pasa que mi problema es con un store procedure a la hora de ejecutarlo en mi sql2005 sin problemas funciona y se ...
  #1 (permalink)  
Antiguo 30/11/2009, 09:52
 
Fecha de Ingreso: junio-2009
Mensajes: 115
Antigüedad: 14 años, 10 meses
Puntos: 1
Store Procedure

Hola lo que pasa que mi problema es con un store procedure a la hora de ejecutarlo en mi sql2005 sin problemas funciona y se crea, pero ahora quiero crear reportes en el reporting services, pero a la hora de ejecutar lo siguiente:
exec ACF_ReporteDetalleMensualDeControldeCitas
UnitId=1,ServiceId=1, FromDate='01/02/2009',ToDate='01/02/2009'

me marca el siguiente error:
There is an error in the query. Invalid object name '#temp2'.

abajo pego el código de mi store procedure ojala y alguién me pueda ayudar gracias.
Nota: por razones de spam que me marca el foro quite las Arrobas @...
USE [XXXX]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ACF_ReporteDetalleMensualDeControldeCitas]
UnitId INT,
ServiceId INT,
FromDate DATETIME ,
ToDate DATETIME
AS
BEGIN
SET NOCOUNT ON;

SET FromDate = [qf].[GetDatePart]( FromDate )
SET ToDate = [qf].[GetDatePart]( ToDate ) + 1



-- Obtenemos los siguientes campos
-- Módulo, Servicio, Fecha, Slots por día, Slots Ocupados en Agenda, Slots Reservados

SELECT qf.Calendar.CalendarId As CalendarId,
qf.Calendar.Date As CalendarDate,
qf.Calendar.BookedSlotsCount As BookedSlotsCount,
qf.Calendar.ReservedSlotsCount As ReservedSlotsCount ,
qf.Calendar.VacantSlotsCount As VacantSlotsCount,
qf.Unit.UnitId As UnitId,
qf.Unit.UnitName As UnitName,
qf.Service.ServiceName As ServiceName,
qf.Service.ServiceId As ServiceId
INTO #Temp1
FROM qf.Calendar INNER JOIN
qf.Service ON qf.Calendar.ServiceId = qf.Service.ServiceId INNER JOIN
qf.Unit ON qf.Service.UnitId = qf.Unit.UnitId
WHERE qf.Unit.UnitId = UnitId AND qf.Service.ServiceId= ServiceId
AND qf.Calendar.Date BETWEEN FromDate AND ToDate
ORDER BY qf.Calendar.Date


--- Duracion de Slots

SELECT qf.Calendar.CalendarId AS CalendarId,
qf.Calendar.Date AS CalendarDate,
--qf.CalendarSlot.Date as SlotDate,
qf.CalendarSlot.Duration AS Duration,
qf.Unit.UnitId AS UnitId,
qf.Unit.UnitName AS UnitName,
qf.Service.ServiceName AS ServiceName,
qf.Service.ServiceId AS ServiceId
INTO #temp2

FROM qf.Calendar INNER JOIN
qf.CalendarSlot ON qf.Calendar.CalendarId = qf.CalendarSlot.CalendarId INNER JOIN
qf.Service ON qf.Calendar.ServiceId = qf.Service.ServiceId INNER JOIN
qf.Unit ON qf.Service.UnitId = qf.Unit.UnitId
WHERE qf.Unit.UnitId = UnitId AND qf.Service.ServiceId = ServiceId
AND qf.Calendar.Date BETWEEN FromDate AND ToDate


SELECT DISTINCT CalendarDate,
AVG(Duration) AS DuracionSlot
INTO #temp3

FROM #temp2
GROUP BY CalendarDate
ORDER BY CalendarDate


-- Select final


SELECT t1.UnitName AS NombreUnidad,
t1.ServiceName AS NombredeServicio,
t1.CalendarDate AS Fecha,
SUM( t1.BookedSlotsCount + t1.ReservedSlotsCount + t1.VacantSlotsCount) AS SlotsOfertados,
t3.DuracionSlot As DuracionSlot,
t1.BookedSlotsCount AS SlotsOcupadosEnAgenda,
t1.ReservedSlotsCount AS SlotsReservados

FROM #Temp1 as t1 INNER JOIN #Temp3 as t3 ON t1.CalendarDate = t3.CalendarDate
GROUP BY t1.UnitName,
t1.ServiceName,
t1.CalendarDate,
t3.DuracionSlot,
t1.BookedSlotsCount ,
t1.ReservedSlotsCount

ORDER BY t1.CalendarDate
END
RETURN
GO
  #2 (permalink)  
Antiguo 30/11/2009, 10:45
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Store Procedure

Deberías verificar que cada tabla exista antes de consultarla.
Es posible que la tabla #Temp2 no se cree debido a que no cumple con las condiciones en un momento dado.
Te recomiendo usar alias para las tablas, ayuda a entender mejor el código.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 30/11/2009, 11:45
 
Fecha de Ingreso: junio-2009
Mensajes: 115
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Store Procedure

Hola acabo de encontrar la forma de ejecutarlo, pongo la respuesta por si a alguién le sirve y bueno tengo otra duda, es posible crear calendarios con el reporteador, lo que pasa que me dejaron hacer un reporte que parezca un calendario, gracias



SET FMTONLY OFF
exec SP
@VAR1=VALOR,@VAR2=VALOR
SET FMTONLY ON
  #4 (permalink)  
Antiguo 30/11/2009, 13:03
 
Fecha de Ingreso: junio-2009
Mensajes: 115
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Store Procedure

Por favor alguién me puede decir si se puede crear calendarios en Reporting Services, lo que pasa que tengo que hacer un reporte tipo calendario, pero no tengo idea como hacerlo, por que mi idea es crear una tabla, pero no se como hacerle para poder acomodarlo dentro de ella, por las fechas y días, gracias
  #5 (permalink)  
Antiguo 30/11/2009, 14:53
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Store Procedure

Te recomiendo hacer el post en el foro de SQL Server.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
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 23:45.