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