我试图用一个参数创建一个存储过程。我希望存储过程执行更新查询,并在执行时传递的参数是应更新的表。用参数创建过程我一直不成功。SQL Server存储过程参数
CREATE PROCEDURE cleanq7 @tablename varchar(100)
AS
BEGIN
UPDATE @tablename
SET IMPOSSIBLE_CASE = '1'
WHERE q7='1'
GO
我收到的消息,当我运行是这样的:
Msg 102, Level 15, State 1, Procedure cleanq7, Line 6
Incorrect syntax near '1'.
我在测试数据库尝试过缩进更新查询在桌子上,它起到预期的,所以我想这是一个问题用我的语法来声明存储过程。
任何帮助将不胜感激!
我认为你应该有一个END而不是GO。 – Mihai
您需要使用动态SQL,因为不允许使用UPDATE @ variable' –