首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在存储过程中使用可选参数

如何在存储过程中使用可选参数
EN

Stack Overflow用户
提问于 2010-09-14 21:52:34
回答 3查看 2.2K关注 0票数 2

我有一个存储过程,它看起来像

代码语言:javascript
复制
  CREATE PROCEDURE Update-all  
 (  @RowID INT,
    @Parameter1 NVARCHAR(50),
    @Parameter2 INT
 )
As
....

我将根据不同的条件传递@Parameter1 / @Parameter2。如果我没有传递@Parameter1 / @Parameter2,我会得到一个错误:存储过程需要@parameter1/@parameter1,但没有提供。有什么办法解决这个问题吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-14 21:55:43

您需要提供参数的默认值。

代码语言:javascript
复制
  CREATE PROCEDURE Update-all  
 (  @RowID INT,
    @Parameter1 NVARCHAR(50) = NULL,
    @Parameter2 INT = NULL
 )
As
....
票数 2
EN

Stack Overflow用户

发布于 2010-09-14 21:59:07

您需要提供参数的默认值。例如:

代码语言:javascript
复制
create procedure Test1 (
   @rowid int,
   @Param1 nvarchar(50) = null,
   @Param2 int = 0 )
as
   print 'rowid=' + convert(varchar(20), @rowid)
   print 'param1=' + @Param1
   print 'param2=' + convert(varchar(20), @Param2)

exec Test1 5
exec Test1 5, 'testing'
exec Test1 5, 'testing', 198
票数 2
EN

Stack Overflow用户

发布于 2010-09-14 21:54:59

为参数添加一些默认值:

代码语言:javascript
复制
CREATE PROCEDURE Update-all  
 (  @RowID INT,
    @Parameter1 NVARCHAR(50) = '',
    @Parameter2 INT = 0
 )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3709495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档