SQLSERVER能为存储过程设置默认值吗?

现在的情况是这样
针对服务器旧版和新版
某一个存储过程中,旧版的输入参数只有3个,而新版的输入参数有5个。
我希望在执行该存储过程的时间,若输入参数只有三个(后面两个输入参数缺失)时,
该存储过程自动为后面两个缺失值的输入参数赋一个默认值。
请问可以只修改存储过程达到这目的的?

用的SQLSERVER是2005版的

3个回答

例子:
create procedure pro_Name(
@cNo varchar(8),
@cName varchar(20)= '%'
)
as
begin
SQL 语句集……

end;
go
exec pro_name '10002' ,'%'

exec pro_name '10002'
都可以 ,不会报错。


在新数据库建表的时候,在后两个属性加上default:


CREATE PROCEDURE [dbo].[up_TEST]
@A nvarchar(50),
@B nvarchar(50),
@C nvarchar(50)
AS

改为

CREATE PROCEDURE [dbo].[up_TEST]
@A nvarchar(50),
@B nvarchar(50),
@C nvarchar(50),
@D nvarchar(50) = '01' ,
@E nvarchar(50) = '02'
AS

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问