【问题标题】:Must declare the scalar variable "@id"必须声明标量变量“@id”
【发布时间】: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


【解决方案1】:

好的。知道了 。语法错误。我的错。 正确的程序是: alter procedure sp_updateVacancyWithRecruitment (@id int, @idList varchar(100) ) as EXEC('update Vacancy_team1 set recruitment_request_id='+@id+' where id IN ('+@idList+')')

【讨论】:

    猜你喜欢
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-03
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    相关资源
    最近更新 更多