如何在创建存储过程时定义可选取参数

diskman008 2004-11-21 05:24:21
是不是需要设置默认值才行?
...全文
139 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
davorsuker39 2004-11-22
  • 打赏
  • 举报
回复
学习一下
lsxaa 2004-11-22
  • 打赏
  • 举报
回复
这种相当开关的性质,不是"是" 就是"否" ,指定默认值肯定不行了

写条件可以这样写
... and (@sex='' or sex=@Sex) and Birthday=@Birthday ...
diskman008 2004-11-21
  • 打赏
  • 举报
回复
打错了,是把@Sex(不是@ex)置为1的情况,因为这个是bit型的,比较典型点
diskman008 2004-11-21
  • 打赏
  • 举报
回复
CREATE PROCEDURE dbo.QueryPersonInfo
@Person_ID int,
@No varchar(5),
@Name nvarchar(40),
@Sex bit,
@Birthday datetime
AS
select * from PersonInfo where Person_ID=@Person_ID and No=@No and Name=@Name and Sex=@Sex Birthday=@Birthday
比如上述SP我想把所有的参数都改为可选参数,但如果设置默值可能会影响查询得到的结果,比如把@ex置为1那查询条件就变成了Sex为1的那种查询方式了,我的意思就是如何处理才可以避免这样的情况,非常感谢lsxaa(小李铅笔刀)兄
lsxaa 2004-11-21
  • 打赏
  • 举报
回复
看你的数据要求,什么样的不影响这个参数的实际值
diskman008 2004-11-21
  • 打赏
  • 举报
回复
那对于整型,日期型,字符型,如何设置默认值可以不影响这个参数的实际值呢?
lsxaa 2004-11-21
  • 打赏
  • 举报
回复

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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