请教一个存储过程参数的问题

yizhixiaozhu 2005-01-09 04:44:28
我有一个存储过程在查询的时候是这样的
selec * from table where name in(@str)
name是vachar字段
当我传如参数的时候,应该怎么传入呢
如果直接传入 比如传入的值是 jack,tom,alex
的时候 好像查不出,当我传入 'jack','tom','alex'
的时候也查不出,系统会自动将单引号 转换掉 ''
那我应当怎么传入呢
...全文
111 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 元老 2005-01-09
  • 打赏
  • 举报
回复
--存储过程
create proc p_test
@str varchar(8000)
as
exec('selec * from table where name in('+@str+')')
go

--调用
exec p_test '''jack'',''tom'''
Vicar2 2005-01-09
  • 打赏
  • 举报
回复
你還是一個一個參數的傳進去吧

exec your_proc 'jack'
exec your_proc 'tom'

不要這樣搞 exec your_proc '''jack','tom''' 是錯的
yizhixiaozhu 2005-01-09
  • 打赏
  • 举报
回复
我在程序里面的时候是这样赋值的啊
aaa = "'jack','tom','alex'"
然后在传入存储过程的的参数的值就是用的 aaa的值
但是这样查不出
letdreamfly 2005-01-09
  • 打赏
  • 举报
回复
参数传入为:变量名="'jack','tom','alex'",这样即可

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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