Sql server SQL Server存储过程附加参数格式
我有一个存储过程。我想附加参数以从特定表中获取所有数据(例如Sql server SQL Server存储过程附加参数格式,sql-server,stored-procedures,formatting,Sql Server,Stored Procedures,Formatting,我有一个存储过程。我想附加参数以从特定表中获取所有数据(例如tblJanuary2014)。但是格式(可能)不正确 ALTER PROCEDURE GetReportAsOf ( @Month varchar(15), @Year varchar(15) ) AS BEGIN SELECT * FROM tbl@Month@Year RETURN END 在执行期间,它说: 无效的对象名称'tbl@Month@年 您应该在此基础上创
tblJanuary2014
)。但是格式(可能)不正确
ALTER PROCEDURE GetReportAsOf
(
@Month varchar(15),
@Year varchar(15)
)
AS
BEGIN
SELECT * FROM tbl@Month@Year
RETURN
END
在执行期间,它说:
无效的对象名称'tbl@Month@年
您应该在此基础上创建动态sql
ALTER PROCEDURE GetReportAsOf
(
@Month varchar(15),
@Year varchar(15)
)
AS
BEGIN
DECLARE @SQLQuery AS NVARCHAR(500)
SET @SQLQuery = 'SELECT * FROM tbl' + @Month + @Year
EXECUTE(@SQLQuery)
RETURN
END
您应该在此基础上创建动态sql
ALTER PROCEDURE GetReportAsOf
(
@Month varchar(15),
@Year varchar(15)
)
AS
BEGIN
DECLARE @SQLQuery AS NVARCHAR(500)
SET @SQLQuery = 'SELECT * FROM tbl' + @Month + @Year
EXECUTE(@SQLQuery)
RETURN
END
您应该在此基础上创建动态sql
ALTER PROCEDURE GetReportAsOf
(
@Month varchar(15),
@Year varchar(15)
)
AS
BEGIN
DECLARE @SQLQuery AS NVARCHAR(500)
SET @SQLQuery = 'SELECT * FROM tbl' + @Month + @Year
EXECUTE(@SQLQuery)
RETURN
END
您应该在此基础上创建动态sql
ALTER PROCEDURE GetReportAsOf
(
@Month varchar(15),
@Year varchar(15)
)
AS
BEGIN
DECLARE @SQLQuery AS NVARCHAR(500)
SET @SQLQuery = 'SELECT * FROM tbl' + @Month + @Year
EXECUTE(@SQLQuery)
RETURN
END
有人可以这样执行这个SP:
EXEC GetReportAsOf@Month=”;删除表1',@Year=';删除表2'
。有人可以执行此SP,因此:EXEC GetReportAsOf@Month=';删除表1',@Year=';删除表2'
。有人可以执行此SP,因此:EXEC GetReportAsOf@Month=';删除表1',@Year=';删除表2'
。有人可以执行此SP,因此:EXEC GetReportAsOf@Month=';删除表1',@Year=';删除表2'
。