2012-04-13 10 views
7

Possible Duplicate: How to SELECT * INTO [temp table] FROM [Stored Procedure]intentar insertar un procedimiento almacenado en una tabla temporal, recibiendo 'un nombre de objeto o columna o está vacío'

Soy nuevo en T-SQL. Tengo un stored procedure que selecciona registros. Quiero consultar los registros devueltos por el procedimiento almacenado, por lo que estoy tratando de insertar los registros en una tabla temporal. (Pila   mensajes de desbordamiento y otros mensajes dicen que es cómo hacerlo.)

Pero cuando lo intento, me sale el error:

object or column name is missing or empty'

Cuando acabo de ejecutar el procedimiento almacenado, consigo una mesa que tiene columnas con nombres.

select * into #temp1 
exec alexander.dbo.get_uberrecords '20120101', '20120201', 'labcorp' //throws error saying columns must have names 

pero

exec alexander.dbo.get_uberrecords '20120101', '20120201', 'labcorp' // Returns cols with names 

¿Qué me falta?

Respuesta

6

intente crear la tabla temporal en primer lugar:

CREATE TABLE #temp1 
(
    COL1 INT, 
    COL2 VARCHAR(MAX) 
) 

INSERT INTO #temp1 
exec alexander.dbo.get_uberrecords '20120101', '20120201', 'labcorp' 

En el caso de un conjunto de resultados muy amplia, es posible que desee utilizar OPENROWSET

En cualquier caso, este SO tiene muchas opciones: Insert results of a stored procedure into a temporary table

+0

@ Jeff - lamentablemente es una enorme mesa de 40 columnas, por lo que no es una gran opción – bernie2436

Cuestiones relacionadas