
como pasar parametros con el nombre de una base de datos al procedimiento sp_executesql
Publicado por Renzo (1 intervención) el 04/09/2014 18:28:02
Buenas necesito una ayuda con este procedimiento que estoy creando:
ALTER procedure [dbo].[CallFijoPlusBloke1]
@NOM_TABLA nvarchar(255),
@NOM_BASE nvarchar(255)
as
DECLARE @CONSULTA NVARCHAR(100),@TABLA nvarchar(50),
@Parametros nvarchar(500)
SET @Parametros = '@tabla nvarchar(50), @base nvarchar(50)'
set @CONSULTA='USE @BASE' + ' SELECT * FROM @TABLA'
EXECUTE sp_executesql @CONSULTA, @Parametros, @BASE = @NOM_BASE,@TABLA = @NOM_TABLA
el cual recibe 2 parametros que son el nombre de la tabla y el de la base de datos , al momento de ejecutarlo para crearlo no da error pero al llamarlo me sale el error:
Sintaxis incorrecta cerca de '@BASE'
mi pregunta es si se puede usar parametros para hacer referecia a una base de datos y a una tabla y cual seria la forma correcta de hacerlo?
Gracias de antemano.
ALTER procedure [dbo].[CallFijoPlusBloke1]
@NOM_TABLA nvarchar(255),
@NOM_BASE nvarchar(255)
as
DECLARE @CONSULTA NVARCHAR(100),@TABLA nvarchar(50),
@Parametros nvarchar(500)
SET @Parametros = '@tabla nvarchar(50), @base nvarchar(50)'
set @CONSULTA='USE @BASE' + ' SELECT * FROM @TABLA'
EXECUTE sp_executesql @CONSULTA, @Parametros, @BASE = @NOM_BASE,@TABLA = @NOM_TABLA
el cual recibe 2 parametros que son el nombre de la tabla y el de la base de datos , al momento de ejecutarlo para crearlo no da error pero al llamarlo me sale el error:
Sintaxis incorrecta cerca de '@BASE'
mi pregunta es si se puede usar parametros para hacer referecia a una base de datos y a una tabla y cual seria la forma correcta de hacerlo?
Gracias de antemano.
Valora esta pregunta


0