【发布时间】:2015-09-08 15:05:45
【问题描述】:
我成功创建了一个过程,但在执行过程时使用参数时遇到问题
CREATE PROCEDURE TestProc
@table varchar(200)
AS
UPDATE [test].[dbo].[@table]
SET [Column 9] = [Column 10]
WHERE [Column 9] = 'Example1'
OR [Column 9] = 'Example2'
GO
当程序像这样执行时
EXEC TestProc @table= '2015-07'
我想更新表格[test].[dbo].[2015-07]。
有人知道如何解决这个问题吗?
【问题讨论】:
-
不能将表格作为参数传递。在存储过程中使用动态 SQL 也不比在客户端上编写语句提供任何好处。实际上,在客户端创建参数化查询并在服务器上执行它是更安全的
标签: sql-server stored-procedures parameters