Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/11/2010, 06:49
rProgged
 
Fecha de Ingreso: agosto-2004
Mensajes: 131
Antigüedad: 20 años, 3 meses
Puntos: 2
Consultar tabla temporal después de la ejecución de un SP

Estimad@s,

Espero que estén muy bien, tengo el siguiente problema: Estoy realizando una busqueda de productos en SQL2008 y lo hago mediente indices FT, dentro de un SP, parcializando la consulta y llenando una tabla temporal, hasta aquí todo bien, funciona con eficiencia aceptable y no hay problema

El problema radica en que luego necesito filtrar esos resultados, pues puede ser que después de buscar un cliente quiera ver productos sólo de una marca o de un tipo específico, entonces claramente no sería nada óptimo realizar todo el proceso de busqueda de nuevo para ejecutar el filtro.

Para resolver esto se me había ocurrido consultar la tabla temporal que llené dentro del SP, pero esto tendría que hacerlo después que el sp termina su ejecución, el problema es que cuando intento hacerlo me dice que la tabla no existe. Como este es un sistema multiusuario y muchos usuarios pueden hacer busquedas distintas entonces no puedo usar tablas temporales globales, estoy usando locales.

El flujo que quiero hacer seria algo asi

SP_BUSQUEDA
Código:
- Crear Tabla Temporal  #tmpProducts
- Llenar Tabla Temporal #tmpProducts
- Obtener Registros desde Tabla Temporal (SELECT * FROM #tmpProducts)

SP_FILTRO_BUSQUEDA
Código:
--- Consultar tabla #tmpProducts

IF OBJECT_ID('tempdb..#tmpProducts') IS NOT NULL
BEGIN
	SELECT * FROM #tmpProducts;
END
ELSE
BEGIN
	print 'tabla de temporal no existe'; --Siempre pasa por acá
END
La verdad no sé si se podrá lo que quiero hacer, existen algunas alternativas pero no son muy optimas


Muchas gracias por su ayuda

Atentamente,

R