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.

Preguntas similare

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.


Respuesta Responder a este mensaje
#2 Sofia
08/05/2007 - 17:09 | Informe spam
Muchas gracias, le voy a echar un vistazo a ver si me conviene utilizarlo.


"Maxi" escribió en el mensaje
news:
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.






Respuesta Responder a este mensaje
#3 Sofia
08/05/2007 - 18:04 | Informe spam
De nuevo muchísimas gracias Maxi, después de leer el artículo (muy
interesante) me parece que no voy a utilizar sql-dinámico...

Un saludo.
"Maxi" escribió en el mensaje
news:
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.






Respuesta Responder a este mensaje
#4 Maxi
08/05/2007 - 18:22 | Informe spam
Me alegro por la determinacion que has tomado :), si tu problema era el
tiempo que lleva crear Stores para cada tabla, te comento que hay varios
generadores de codigo, Mygeneration, Codesmith, etc los cuales hacen la
tarea por ti :)


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Sofia" escribió en el mensaje
news:
De nuevo muchísimas gracias Maxi, después de leer el artículo (muy
interesante) me parece que no voy a utilizar sql-dinámico...

Un saludo.
"Maxi" escribió en el mensaje
news:
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.










email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida