sql存储过程创建语法_带可选参数的sql存储过程实例

发布时间:2019-12-02编辑:脚本学堂
分享一个带可选参数的sql存储过程代码,根据sql存储过程的语法,传入参数在存储过程调用时可接入外部变量值,需要的朋友参考下。

带可选参数的sql存储过程代码

专题推荐:sql存储过程语法与实例教程

例子:
 

复制代码 代码示例:

--创建数据表
7> create table Billings (
8>     BankerID           INTEGER,
9>     BillingNumber      INTEGER,
10>     BillingDate        datetime,
11>     BillingTotal       INTEGER,
12>     TermsID            INTEGER,
13>     BillingDueDate     datetime ,
14>     PaymentTotal       INTEGER,
15>     CreditTotal        INTEGER
16>
17> );
18> GO
1>
2> INSERT INTO Billings VALUES (1, 1, '2005-01-22', 165, 1,'2005-04-22',123,321);
3> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (2, 2, '2001-02-21', 165, 1,'2002-02-22',123,321.);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (3, 3, '2003-05-02', 165, 1,'2005-04-12',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (4, 4, '1999-03-12', 165, 1,'2005-04-18',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (5, 5, '2000-04-23', 165, 1,'2005-04-17',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (6, 6, '2001-06-14', 165, 1,'2005-04-18',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (7, 7, '2002-07-15', 165, 1,'2005-04-19',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (8, 8, '2003-08-16', 165, 1,'2005-04-20',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (9, 9, '2004-09-17', 165, 1,'2005-04-21',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (0, 0, '2005-10-18', 165, 1,'2005-04-22',123,321);
2> GO

(1 rows affected)

--创建sql存储教程,设定一个传入参数
3> CREATE PROC spInvTotal2
4>        @DateVar smalldatetime = NULL
5> AS
6> IF @DateVar IS NULL
7>     SELECT @DateVar = MIN(BillingDate) FROM Billings
8> SELECT SUM(BillingTotal)
9> FROM Billings
10> WHERE BillingDate >= @DateVar
11> GO

--删除存储过程
3> drop PROC spInvTotal2;
4> GO

--删除表
3> drop table Billings;
4> GO