Variable as Table

09/11/2004 - 18:27 por Pablodegerli | Informe spam
Hola amigos, tengo lo siguiente

create table #Pos(Id_Ubicacion int)
Insert into #Pos Exec SpUbicacionSimple

funciona de maravilla, pero si quiero usar tabla temporales en memoria

declare @Pos Table(Id_Ubicacion int)
Insert into @Pos Exec SpUbicacionSimple

Servidor: mensaje 197, nivel 15, estado 1, procedimiento SpUbicacion,
línea 22
No se puede utilizar la instrucción EXECUTE como origen al insertar en
una variable de tabla.

Entonces como puedo insertar el resultado del store en la tabla temporal en
memoria

Como siempre, gracias de antemano

Preguntas similare

Leer las respuestas

#6 ulises
09/11/2004 - 20:20 | Informe spam
Esa es una de las restricciones del tipo de datos TABLE no
puede usarse ni con INSERT INTO ni con SELECT ..INTO, vas a
tener que seguir usando la tabla temporal.

Saludos,
Ulises

Mostrar la cita
temporales en memoria
Mostrar la cita
procedimiento SpUbicacion,
Mostrar la cita
origen al insertar en
Mostrar la cita
tabla temporal en
Mostrar la cita
#7 Pablodegerli
10/11/2004 - 17:22 | Informe spam
pero si dice que no puede utilizarse esa instruccion?

"Maxi" escribió en el mensaje
news:
Mostrar la cita
conjunto
Mostrar la cita
conjunto
Mostrar la cita
columna,
Mostrar la cita
local
Mostrar la cita
tabla.
Mostrar la cita
función,
Mostrar la cita
memoria
Mostrar la cita
insertar
Mostrar la cita
#8 Pablodegerli
10/11/2004 - 17:42 | Informe spam
He realizado la siguiente prueba
create procedure SpA as
DECLARE @Prueba TABLE (a int primary key, b nvarchar(50) NOT NULL)
INSERT @Prueba select Id_Configuracion, Categoria from configuracion
select * from @Prueba
Y funciona, con lo cual la restriccion no es tal.
Al igual que un ejemplo en el mensaje de asunto "Funciones Recursivas" del
dia de hoy que reponde Gustavo Larriera

Pero si hago
create procedure SpC as
select Id_Configuracion, Categoria from configuracion

create procedure SpB as
DECLARE @Prueba TABLE (a int primary key, b nvarchar(50) NOT NULL)
INSERT @Prueba exec SpC
select * from @Prueba
No me deja compilar el SpB por :
Servidor: mensaje 197, nivel 15, estado 1, procedimiento SpB, línea 4
No se puede utilizar la instrucción EXECUTE como origen al insertar en
una variable de tabla.

Creo que ahi si no tengo nada mas que hacer o la sintaxis de INSERT @Prueba
exec SpC va de otra forma



"ulises" escribió en el mensaje
news:43f601c4c691$3ceb07d0$
Esa es una de las restricciones del tipo de datos TABLE no
puede usarse ni con INSERT INTO ni con SELECT ..INTO, vas a
tener que seguir usando la tabla temporal.

Saludos,
Ulises

Mostrar la cita
temporales en memoria
Mostrar la cita
procedimiento SpUbicacion,
Mostrar la cita
origen al insertar en
Mostrar la cita
tabla temporal en
Mostrar la cita
#9 ulises
10/11/2004 - 20:11 | Informe spam
La restricción es usarla contra el procedimiento, no contra
un select normal, en resumen esto no es permitido :

INSERT INTO tabla EXEC procedimiento

Saludos,
Ulises

Mostrar la cita
NOT NULL)
Mostrar la cita
configuracion
Mostrar la cita
Recursivas" del
Mostrar la cita
NOT NULL)
Mostrar la cita
procedimiento SpB, línea 4
Mostrar la cita
origen al insertar en
Mostrar la cita
de INSERT @Prueba
Mostrar la cita
Ads by Google
Search Busqueda sugerida