Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

tabla temporal como parametro en procedure?

Estas en el tema de tabla temporal como parametro en procedure? en el foro de SQL Server en Foros del Web. hola a todos, alguien sabe si se puede pasar una tabla temporal cargada al llamar a un procemiento almacenado??? si es asi, pueden postear el ...
  #1 (permalink)  
Antiguo 11/12/2009, 14:41
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 9 meses
Puntos: 3
tabla temporal como parametro en procedure?

hola a todos, alguien sabe si se puede pasar una tabla temporal cargada al llamar a un procemiento almacenado???

si es asi, pueden postear el codigo de un ejemplo basico porfa, saludos....
__________________
"puedo detenerme, pero no retroceder, tengo que avanzar..."
  #2 (permalink)  
Antiguo 11/12/2009, 17:21
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: tabla temporal como parametro en procedure?

Depende de la version, ¿2008?, puedes ocupar el tipo de dato TABLE.
  #3 (permalink)  
Antiguo 14/12/2009, 07:14
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 9 meses
Puntos: 3
Respuesta: tabla temporal como parametro en procedure?

si para sql server 2008, a ver explicame eso q sugieres, postea un ejemplo sencillo, porfa...
__________________
"puedo detenerme, pero no retroceder, tengo que avanzar..."
  #4 (permalink)  
Antiguo 14/12/2009, 13:00
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: tabla temporal como parametro en procedure?

Creo que podrias buscar en INTERNET y encontrar muchos ejemplos:

http://www.sqlteam.com/article/sql-s...ued-parameters
  #5 (permalink)  
Antiguo 16/12/2009, 11:21
 
Fecha de Ingreso: julio-2006
Ubicación: En algún lugar de un grán pais
Mensajes: 112
Antigüedad: 17 años, 9 meses
Puntos: 2
Respuesta: tabla temporal como parametro en procedure?

mmm puedes pasar el nombre...
por ejemplo
exec misp '##tablatemporal'
  #6 (permalink)  
Antiguo 16/12/2009, 11:41
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 9 meses
Puntos: 3
Respuesta: tabla temporal como parametro en procedure?

mmmm, claro obvio q se hace eso al llamar al procedure, pero la pregunta es como lo recibe el procedure, es decir podrian postear el codigo de un procedure q recibe una tabla temporal como parametro???....saludos
__________________
"puedo detenerme, pero no retroceder, tengo que avanzar..."
  #7 (permalink)  
Antiguo 16/12/2009, 14:42
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: tabla temporal como parametro en procedure?

¿No te sirvio el link que te di o ni siquiera tuviste la curiosidad de ver el ejemplo?
  #8 (permalink)  
Antiguo 16/12/2009, 15:14
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 9 meses
Puntos: 3
Respuesta: tabla temporal como parametro en procedure?

................
__________________
"puedo detenerme, pero no retroceder, tengo que avanzar..."

Última edición por gabrielflowers; 17/12/2009 a las 07:53
  #9 (permalink)  
Antiguo 16/12/2009, 15:15
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 9 meses
Puntos: 3
Respuesta: tabla temporal como parametro en procedure?

iislas si vi el enlace, aparentemente hace falta crearse un tipo para mi tabla temporal como parametro, mmm, lo revisare a detalle luego....

pero si segui respondiendo al hilo fue por q miguelajh entendio mal la pregunta, si te fijas....
gracias por el link, saludos...
__________________
"puedo detenerme, pero no retroceder, tengo que avanzar..."
  #10 (permalink)  
Antiguo 16/12/2009, 16:46
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: tabla temporal como parametro en procedure?

Muchas veces, no es que ENTENDAMOS MAL, la pregunta, es casi 100% seguro, que esta mal planteada. Saludos
  #11 (permalink)  
Antiguo 16/12/2009, 19:32
 
Fecha de Ingreso: julio-2006
Ubicación: En algún lugar de un grán pais
Mensajes: 112
Antigüedad: 17 años, 9 meses
Puntos: 2
Respuesta: tabla temporal como parametro en procedure?

Cita:
Iniciado por gabrielflowers Ver Mensaje
mmmm, claro obvio q se hace eso al llamar al procedure, pero la pregunta es como lo recibe el procedure, es decir podrian postear el codigo de un procedure q recibe una tabla temporal como parametro???....saludos
jajajaj... creoq ue no entendiste.

Aver.... con palitos y bolitas:

select * into ##tabla from tabla43232

Esto.... ya llenó la tabla.... "TEMPORAL" ok?...

Luego.. le pasas al SP la TABLA "TEMPORAL"

exec miprocedimiento param1, param2, '##tabla'

dentro del procedimiento:

create procedure miprocedimiento
@par1 int
@par2 int
@par3 varchar(50)
as

logica 1..............................................


exec ('select * from ' + @par3 + ')


exec('select * from mitabla34453 A
inner join ' + @par3 + ' B on A.llave1 = B.llave2
where A.Valor1 = ' + @par1 + ' and
A.Valor2 = ' + @par2

go


Esto.... crees que si te sirva?...........


No puedes "pasar" una tabla temporal del tipo #tabla (tabla temporal de sesión) porque esta tabla solo sobrevive al "ambito" donde fué creada, por eso tendrias que usar una tabla temporal de sesión de SERVIDOR
Y si usas tablas temporales de variable.... tampoco sobreviven....
esto es usando SQL-92.....
  #12 (permalink)  
Antiguo 16/12/2009, 19:42
 
Fecha de Ingreso: julio-2006
Ubicación: En algún lugar de un grán pais
Mensajes: 112
Antigüedad: 17 años, 9 meses
Puntos: 2
Desacuerdo Respuesta: tabla temporal como parametro en procedure?

Cita:
Iniciado por gabrielflowers Ver Mensaje
iislas si vi el enlace, aparentemente hace falta crearse un tipo para mi tabla temporal como parametro, mmm, lo revisare a detalle luego....

pero si segui respondiendo al hilo fue por q miguelajh entendio mal la pregunta, si te fijas....
gracias por el link, saludos...
Hola.... que lástima que no tengas tiempo para revisarla.....
Si hubieras revisado el enlace que te mandaron... (lo hice en 30 segundos), está muy claro la forma que 2008 utiliza para pasar un objeto, gracias ISLAS, porque acabo de aprender algo nuevo.

PERO estimado GABRIELFLOWERS , NO ES UNA TABLA TEMPORAL....
Cuando menos deberías de agradecer que se tome uno el tiempo.... en vez de ser así con tus contestaciones.
  #13 (permalink)  
Antiguo 17/12/2009, 06:31
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 9 meses
Puntos: 3
Respuesta: tabla temporal como parametro en procedure?

...............
__________________
"puedo detenerme, pero no retroceder, tengo que avanzar..."

Última edición por gabrielflowers; 17/12/2009 a las 07:54
  #14 (permalink)  
Antiguo 17/12/2009, 06:32
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 9 meses
Puntos: 3
Respuesta: tabla temporal como parametro en procedure?

señor miguelaj, interesante el codigo q postea, mas su forma grosera de hacerlo deja mucho q desear

este aporte suyo,de ser cierto, es de mucha ayuda:

Cita:
No puedes "pasar" una tabla temporal del tipo #tabla (tabla temporal de sesión) porque esta tabla solo sobrevive al "ambito" donde fué creada, por eso tendrias que usar una tabla temporal de sesión de SERVIDOR
Y si usas tablas temporales de variable.... tampoco sobreviven....
esto es usando SQL-92.....
en resumen lo q veo es q tu sugieres q al procedimiento se le pasa el nombre de mi tabla temporal global, y dentro de mi procedimiento hacer una lectura a la tabla temporal de ese nombre, mmm es una alternativa aunque, yo estaba pensando y como lei en alguna parte, en pasarle mi tabla temporal como tal (y no simplemente el nombre de dicha tabla) y que el procedimiento lo reciba como variable tipo tabla, estaba pensando algo asi, e incluso en el link q comparte el buen amigo iislas, sugiere q se cree un tipo definido por el usuario para recibir la tabla temporal....en fin

Código:
--fragmento de codigo del link sugerido por el buen amigo iislas
CREATE PROC usp_AddRowsToMyTable @MyTableParam MyType READONLY,
	@UserID varchar(20) AS
	
	INSERT INTO MyTable([col1],[col2],[col3],[UserID])
	SELECT [col1],[col2],[col3],@UserID	
	FROM @MyTableParam
	
GO
tu sugerencia es otra, q puede ser valida, habria q ver cual es la forma mas optima de hacerlo

ojo tu primer aporte fue pobre, y lo sabes muy bien, recien en tus ultimos aportes te esforzaste en dar una respuesta a la pregunta, mas como dije tu forma grosera de contestar deja mucho q desear. Si vas a responder de mala gana mejor no respondas quieres, q seguro habra otras personas amables que les guste colaborar y aprender.....

Saludos y gracias.

PDTA: no soy experto en ms sql server, por eso entro a este foro
__________________
"puedo detenerme, pero no retroceder, tengo que avanzar..."
  #15 (permalink)  
Antiguo 17/12/2009, 13:28
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: tabla temporal como parametro en procedure?

Mooooodddddeeeeeeerrrrrraaaaaddddddoooooooooooorrr rrrrrrrrr !!!
  #16 (permalink)  
Antiguo 17/12/2009, 14:05
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 9 meses
Puntos: 3
Respuesta: tabla temporal como parametro en procedure?

eh???????????
__________________
"puedo detenerme, pero no retroceder, tengo que avanzar..."
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:57.