]Retornar Cursor de tabla Temporal

Para hacer un reporte ejecuto un procedimiento almacenado que crea una tabla temporal e introducirle datos, luego retorno un select de esa tabla temporal a VB 6.0. El problema es que el programa no recibe datos porque la tabla temporal se borra al finalizar el sp. ¿Hay alguna alternativa que no sea crear tabla permanente?

1 respuesta

Respuesta
-1
1. Para empezar es redundante que lo hagas de esa manera, a menos que ejecutes un cursor.
2. No me especificas si lo ejecutas mediante la conexión o mediante un recordset, si lo haces mediante la conexión es correcto que no regrese información.
3. ¿Es absolumente necesario que lo hagas mediante una tabla temporal?
4. ¿Por qué no ejecutar el query dentro del store y que lo regrese el select (a menos que lleve cursor como menciono antes)?
Para terminar, claro que hay forma de eliminar el uso de la tabla temporal (punto 4).
Espero te haya sido de ayuda mi respuesta sin contar con más información.
Gracias por tu respuesta, tratare de formular mejor la pregunta.
Sin entrar en tanto detalle debo hacer un reporte muy complejo, la forma más eficiente de hacerlo es mediante el procedimiento almacenado que funciona bien si utilizo una tabla permanente y es así como esta funcionando, no obstante para no tener después que borrar los datos de la tabla estoy intentando usar una tabla temporal.
Creo que no recibo datos en el programa porque la tabla temporal se borra al finalizar el procedimiento almacenado; pues el procedimiento como te dije antes funciona, el problema lo tengo al crear la tabla temporal.
La pregunta ¿cómo utilizo una tabla temporal para obtener el resultado que deseo? Si no se puede usando tabla temporal ¿cómo se puede?
La respuesta a eso es sencilla
Ejecuta el store manual, los datos que te arroje es lo mismo que te debe arrojar la aplicación
1. No me aclaras si usas cursor o no
2. No me dices si usas Conexión o Recordset para ejecutar el store
El borrado de la tabla temporal no debe afectar el resultado
Insisto en que te estas haciendo la vida pesada con la tabla temporal ya que NO me has aclarado si usas un cursor o no
Hola este es el código, funciona si la tabla que uso adentro NO es temporal:
Set cm = New ADODB.Command
cm.ActiveConnection = Con.Conexion
cm.CommandText = "sp"
cm.CommandType = adCmdStoredProc
cm.Parameters.Append cm.CreateParameter("parametro", adVarChar, adParamInput, 10, "xxx")
Set rs = New ADODB.Recordset
rs.CursorType = adOpenStatic
rs.CursorLocation = adUseClient
Set rs = cm.Execute
Como experto siento que te centrastes más en querer dar a conocer que sabes y no en responder la pregunta que sin necesidad de dar tantos detalles un experto entiende y puede guiar.
Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas