日期:2014-05-17  浏览次数:20402 次

急急 存储过彻骨批量更新的问题
这是我执行批量更行的存储过程

exec('update Fair_bbsplate set plate_name in ('+@plate_name+') where id in ('+@pid+')')

参数传递
exec proc_fair_BBSPlate 
@plate_name=N'综合商务,得到的,订单,行业取经,机械设备,数码通讯,休闲驿站,文化娱乐,菁菁校园,风花雪月,等等等等',
@pid=N'1,36,33,4,5,6,7,8,9,10,45',@command_type=9

但是执行后报错

关键字 'in' 附近有语法错误。我不知道这么写对不对,还请各位指教下!谢谢!

还请讲述一下存储过程批量添加应该怎么写呢!

------解决方案--------------------
可以这么用吗? 

set in
------解决方案--------------------
set后面给字段赋值 in关键字不能赋值
------解决方案--------------------
set plate_name 不能in ,因为你到底想让plate_name =哪个值 ?
楼主的意思可能需要表关联,实现批量更新吧?
update t1 set t1.plate_name=t2.plate_name from Fair_bbsplate as t1 inner join 另一张表 as t2 on t1.pid=t2.pid