参数化存储过程

时间:2015-07-22 19:45:36

标签: sql sql-server-2008 stored-procedures

我编写了一个存储过程,在执行时需要参数@day@customer

Exec StoredProcedure_name @day, @customer name  

Exec StoredProcedure_name 5, 'vale'

此存储过程将始终将day和customer name作为参数;如果将日期作为空白传递

Exec StoredProcedure_name '', 'vale' 

然后根据逻辑默认需要6天。

有没有办法以这样的方式编写存储过程,我的day参数应该是可选的。如果用户想要提供一天,那么他会像这样正确地命令

Exec StoredProcedure_name 7, 'vale' 

(意味着他想要7天的数据)另外,他只需输入客户名称参数,如

Exec StoredProcedure_name @customer 

和存储过程将使用默认的6天数据,而不是像

那样调用命令
Exec StoredProcedure_name '', 'vale'.

1 个答案:

答案 0 :(得分:0)

是,在存储过程定义中

Create Procedure ProcedureName @vale varchar(50), @day int=6
AS