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

SQL-Server. Pasar una tabla como argumento

Estas en el tema de SQL-Server. Pasar una tabla como argumento en el foro de Bases de Datos General en Foros del Web. Hola a todos!! Estoy haciendo un procedimiento almacenado y este me tiene que sacar una serie de datos de una tabla. La cuestión es que ...
  #1 (permalink)  
Antiguo 25/07/2005, 05:55
 
Fecha de Ingreso: abril-2005
Mensajes: 17
Antigüedad: 19 años
Puntos: 0
Exclamación SQL-Server. Pasar una tabla como argumento

Hola a todos!!
Estoy haciendo un procedimiento almacenado y este me tiene que sacar una serie de datos de una tabla. La cuestión es que esta tabla puede variar, es decir, me gustaría poderle pasar el nombre de la tabla de la que quiero que me extraiga los datos.

¿Cómo se hace eso? He intentado pasarle el nombre de la tabla como argumento del procedimiento (en una variable cadena) y luego en el FROM poner la variable cadena y por supuesto no me ha ido.

Toy desesperaaadaaa.

Muchas gracias.
  #2 (permalink)  
Antiguo 25/07/2005, 12:59
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 4 meses
Puntos: 3
PRUEBA CON ESTO, yo lo hice sin procedimiento pero @TABLA la pasas como parametro y te debe de funcionar

DECLARE @TABLA AS VARCHAR(20)
SET @TABLA = 'T_CLIENTES'
EXEC('select * FROM ' + @TABLA)

ya lo probe y funciona. en el exec armas tu queri y le agregas el nombre de la tabla
__________________
roy rojas
Programación en Español: DotNetcr.com
  #3 (permalink)  
Antiguo 25/07/2005, 15:23
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
se recomienda no usar EXEC directamente, es ineficiente y abre ciertos agujeros de seguridad. En su lugar se recomienda usar sp_executesql:

EXEC sp_executesql 'select * FROM ' + @TABLA
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #4 (permalink)  
Antiguo 25/07/2005, 18:16
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 4 meses
Puntos: 3
excelente opcion...
__________________
roy rojas
Programación en Español: DotNetcr.com
  #5 (permalink)  
Antiguo 26/07/2005, 04:31
 
Fecha de Ingreso: abril-2005
Mensajes: 17
Antigüedad: 19 años
Puntos: 0
Muchas gracias, lo voy a probar ahora mismo pero tiene muy buena pinta.

Gracias de nuevo

Un saludo

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 23:21.