Procedimiento con Parametro

18/10/2004 - 22:19 por Ricardo C. | Informe spam
Hola, tengo el siguiente problema.
tengo en SP (procedimiento almacenado), al cual le entrego un parametro de
entrada que es la tabla que debo consultar, el Proced. es como el sig.

Create proc GES_Kardex
@Kardex Char(9)
As
Select * from @Kardex

pero cada vez que lo intento grabar me muestra el sig. error
Debe declarar la variable '@Kardex'.
 

Leer las respuestas

#1 ulises
18/10/2004 - 22:42 | Informe spam
No es válida esa forma de querer hacer una consulta el
nombre de la tabla no puede ser un parámetro, una forma de
obtener lo que quieres es usar SQL dinámico, p.e.

Create proc GES_Kardex
@Kardex Char(9)
As
declare @cadena nvarchar(1000)
set @cadena = 'Select * from ' + @Kardex
exec sp_executesql @cadena

pero esa forma tiene sus agujeros de seguridad y problemas
de rendimiento y no es muy recomendada por estos lares, te
recomiendo el siguiente link :

The Curse and Blessings of Dynamic SQL
http://www.sommarskog.se/dynamic_sql.html

Saludos,
Ulises

Hola, tengo el siguiente problema.
tengo en SP (procedimiento almacenado), al cual le entrego


un parametro de
entrada que es la tabla que debo consultar, el Proced. es


como el sig.

Create proc GES_Kardex
@Kardex Char(9)
As
Select * from @Kardex

pero cada vez que lo intento grabar me muestra el sig. error
Debe declarar la variable '@Kardex'.


.

Preguntas similares