急急 存储过彻骨批量更新的问题

honeyqiuqiu 2010-10-14 10:44:20
这是我执行批量更行的存储过程

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' 附近有语法错误。我不知道这么写对不对,还请各位指教下!谢谢!

还请讲述一下存储过程批量添加应该怎么写呢!
...全文
76 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChargeForward 2010-10-14
  • 打赏
  • 举报
回复
set后面给字段赋值 in关键字不能赋值
风骑士之怒 2010-10-14
  • 打赏
  • 举报
回复
可以这么用吗?

set in
honeyqiuqiu 2010-10-14
  • 打赏
  • 举报
回复
顶顶顶!
honeyqiuqiu 2010-10-14
  • 打赏
  • 举报
回复
是什么问题啊?
lass_name 2010-10-14
  • 打赏
  • 举报
回复
[Quote=引用楼主 honeyqiuqiu 的回复:]
这是我执行批量更行的存储过程

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

参数传递
exec proc_fair_BBSPlate
@plate_name=N'综合商务,得到的,订单,行业取经,机械设备,数码通讯,休闲驿站,文化娱乐,菁菁校园,风花雪……
[/Quote]


应该是这里的问题 set plate_name in ('+@plate_name+')
katzel 2010-10-14
  • 打赏
  • 举报
回复
学习了
hezison 2010-10-14
  • 打赏
  • 举报
回复
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
honeyqiuqiu 2010-10-14
  • 打赏
  • 举报
回复
那应该怎么才能批量更新呢?

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧