Pasar una tabla como parámetro en un procedimiento

Respuesta de
a
Usuario
Hola buenos días.
Espero que me podáis ayudar, porque la verdad que ando un pelín perdido, veréis, necesito crear un procedimiento al cual le tengo que pasar el nombre de una tabla para hacerlo lo más general posible.
No se muy bien como hacerlo :(

Solo he llegado a poner lo típico
"create procedure nombreproc @tabla (aqui no se que poner si varchar o table)
as begin
select * from @tabla
end
para luego hacer exec nombreproc "elnombredelatablaquequiera"

En fin. Un saludo
Avatar
Experto
Yo utilizaría el nombre de tabla como parámetro, pero hay que tener en cuenta las implciancias del sql injection.
create procedure nombreproc (@tabla varchar(20)
Declare @SQL varchar(500)
As begin
select @SQL='select * from ' + @tabla
exec(@SQL)
end
Saludos
Usuario
Muchísimas gracias, estaba totalmente atascado, ahora ya creo que podre hacer las cosas bien. :)

Saludos :)