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

nombre de tabla en procedimiento almacenado

Estas en el tema de nombre de tabla en procedimiento almacenado en el foro de Bases de Datos General en Foros del Web. Hola amigos: Me gustaría saber de que forma se puede hacer un procedimiento almacenado de forma que se le pase el nombre de una tabla ...
  #1 (permalink)  
Antiguo 23/08/2008, 12:01
 
Fecha de Ingreso: marzo-2006
Mensajes: 66
Antigüedad: 18 años, 1 mes
Puntos: 2
nombre de tabla en procedimiento almacenado

Hola amigos:
Me gustaría saber de que forma se puede hacer un procedimiento almacenado de forma que se le pase el nombre de una tabla de la base de datos y se haga un select en la misma, algo así sería:


CREATE PROCEDURE tablaParametro
@tabla varchar(50) = null
AS
SELECT * from @tabla
GO
¿Se puede hacer esto?

Gracias por vuestra ayuda
  #2 (permalink)  
Antiguo 23/08/2008, 15:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: nombre de tabla en procedimiento almacenado

Hay diferencias de sintaxis según que motor de base de datos estás usando.
No es lo mismo escribirlo en Oracle que en MSSQL Server o MySQL.
¿Qué estás usando?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 26/08/2008, 06:55
 
Fecha de Ingreso: enero-2008
Mensajes: 13
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: nombre de tabla en procedimiento almacenado

bueno para sql server seria una cosa asi

-----------------------------------------------
CREATE PROCEDURE tablaParametro
@tabla varchar(50) = null
AS
declare @consulta as varchar(200)
set @consulta= 'Select * from ' + @tabla
exec @consulta
GO
--------------------------------------
te comento ...lo unico que haces en principio es hacer una cadena que es la consulta y luego la ejecutas...podrias ahcer todo de una pero me parece mas grafico de esa manera.

Espero que te sirva...saludos
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 04:10.