日期:2014-05-17  浏览次数:20407 次

调用存储过程要把所有的参数都要写一遍吗
我想调用数据库中的某个存储过程,但是它的参数太多了,我有很多也用不到,能不能在调用的时候不用写那些我用不到的参数呢

------解决方案--------------------
参数是一定要写的 不然调用肯定会出错的。
------解决方案--------------------
必须写的,不然会报错的,亲身经历。
------解决方案--------------------
如果原来的参数有默认值就不需要一定写
------解决方案--------------------
你既然用不到,那为什么还搞那么多参数干嘛?存储过程和方法一样应该尽量简洁点,不要完成多个功能,如果你真的需要那么做的话那就在存储过程里面判断下,传出空值好了
------解决方案--------------------
可以,創建時都給出默認值,如
create proc myproc @var1 varchar(20)='',@var2 varchar(20)=''
...

調用時,加入你想傳的參就可以了,如(此處@var2不用了)
exec myproc @var1='myvalue'



------解决方案--------------------
你要用已经写好的存储过程就得写它的参数,你不想写可以仿照这个存储过程自己写一个啊,做一些修改
------解决方案--------------------
不加参数的时候 走默认值就可以了
SQL code

CREATE PROC proc_GetUserInfo
@para nvarchar(50)=null
as
select *from T_Student where (Stu_Name=@para or  @para is null)

------解决方案--------------------
不要老套用被人的,要自己写 自己写的自己知道,也会对存储过程进一步的认识