首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

双参数的存储过程有关问题

2012-01-19 
双参数的存储过程问题存储过程设置了两个参数,有两类用户,在调用该存储过程时均只对一个参数进行赋值,希望

双参数的存储过程问题
存储过程设置了两个参数,
有两类用户,在调用该存储过程时均只对一个参数进行赋值,希望另一个参数不起作用,怎么处理?
例如:对于两个字段id和name分别设置参数,用户一进行数据检索,只对id赋值,不管name的值,
用户二则刚好相反,只对name赋值,不管id

用两个不同的存储过程是一个办法,但是能不能只用一个存储过程就实现这种要求?

[解决办法]
create proc test
@id int=null,
@name varchar(10)=null
as
if @id is null and @name is null
print 'id is null and name is null '
else if @id is null and @name is not null
print 'id is null and name is not null '
else if @id is not null and @name is null
print 'id is not null and name is null '
else
print 'id is not null and name is not null '

go
test 1
test @name= 'fds '
[解决办法]
如楼上
[解决办法]
我也同意,如果参数给个默认值就可以了!
[解决办法]
一楼正解
[解决办法]
一楼的正解啦,不过楼主要主要你的两个字段的默认值最好别设成null

热点排行