带参存储过程传值问题

yangchun1213 2012-05-15 02:46:14
我有一个存储过程,很多参数,都有默认值,但我测试时,根据需要只传其中一部分参数的值,其他任然使用默认值,那我怎么传参数,是不是也要把其他参数都写上去,可不可以只传我要改变的参数的值
...全文
57 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jyh070207 2012-05-15
  • 打赏
  • 举报
回复
可以的,比如p_test 有@a,@b,@c3个varchar(50)参数,都有默认值,
可以,执行 exec p_test;
或exec p_test 'a','b'
或exec p_test 'a','b','c'

如只想给第二个参数给值,需要加上变量名=参数值的方式
exec p_test @b = 'b' 即只给第二个参数值,
百年树人 2012-05-15
  • 打赏
  • 举报
回复
传递参数时,如果没有,使用null

select * from tb
where col1=isnull(@col1,col1) and col2=isnull(@col2,col2) and ...

34,576

社区成员

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

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