【发布时间】:2013-03-10 04:36:29
【问题描述】:
我知道这个问题已经被问了一千次了。但是给出的解决方案对我不起作用。 我有一个非常简单的存储过程,如下所示:
alter procedure sp_updateVacancyWithRecruitment
(@id int,
@idList varchar(100)
)
as
EXEC('update Vacancy_team1 set recruitment_request_id=@id where id IN ('+@idList +')')
甚至以下方法也不起作用:
exec sp_updateVacancyWithRecruitment @id=5,@idList='6,8'
我做错了什么?
【问题讨论】:
-
Must declare the scalar variable “@id”这是我得到的错误。 -
这不是问题。如果您没有提供足够的信息,您希望别人如何帮助您?你想做什么?
-
我正在尝试使用
@id中的值更新表Vacancy_team1中的列recruitment_request_id,其中id列中的值等于给定的@idList。但是每次我尝试运行这个:exec sp_updateVacancyWithRecruitment @id=5,@idList='6,8',我都会收到这个错误:Must declare the scalar variable “@id”。 -
顺便说一句,您的代码
('+@idList+')'似乎有 Sql Injection 问题。小心那个代码。 -
已经处理好了。谢谢!
标签: sqlexception