Procedimiento almacenado - Párametro con el nombre de la tabla

08/05/2007 - 12:14 por Sofia | Informe spam
Buenos días,

¿Se puede crear un procedimiento almacenado pasándole como parámetro el
nombre de una tabla de la que quiero que seleccione?

Yo en el procedimiento tengo:
CREATE PROCEDURE [dbo].[_SELECCION] @TABLA VARCHAR(500)
AS
SELECT Campo1, Campo2 FROM @TABLA
RETURN

Y al ejecutarlo me da un error:
Mens 1087, Nivel 15, Estado 2, Procedimiento _SELECCION, Línea 3
Debe declarar la variable de tabla "@TABLA".

¿No se puede hacer de ninguna manera?

Muchas gracias.
 

Leer las respuestas

#1 Maxi
08/05/2007 - 14:25 | Informe spam
Hola, para eso debes usar sql-dinamico sp_executesql, ahora que sentido
tiene tener un SP generico? porque no tener un sp por cada tabla?

Te paso este link para que lo leas detenidamente:

http://www.hayes.ch/sql/sql_dinamico.html


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Sofia" escribió en el mensaje
news:
Buenos días,

¿Se puede crear un procedimiento almacenado pasándole como parámetro el
nombre de una tabla de la que quiero que seleccione?

Yo en el procedimiento tengo:
CREATE PROCEDURE [dbo].[_SELECCION] @TABLA VARCHAR(500)
AS
SELECT Campo1, Campo2 FROM @TABLA
RETURN

Y al ejecutarlo me da un error:
Mens 1087, Nivel 15, Estado 2, Procedimiento _SELECCION, Línea 3
Debe declarar la variable de tabla "@TABLA".

¿No se puede hacer de ninguna manera?

Muchas gracias.


Preguntas similares