sssanton
sssanton
2015-06-29 00:59
采纳率: 27.3%
浏览 2.3k

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

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

用的SQLSERVER是2005版的

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • chanchaw
    chanchaw 2015-06-29 04:31

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

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

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

    
    
    点赞 评论
  • qq_29217425
    qq_29217425 2015-06-29 09:51

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

    点赞 评论
  • dw198
    dw198 2015-07-10 10:43


    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

    点赞 评论

相关推荐