sql存储过程修改_ALTER PROC语句用法实例

发布时间:2019-09-18编辑:脚本学堂
本文介绍了sql存储过程的修改实例,使用ALTER PROC语句修改存储过程的例子,需要的朋友参考下。

例子,ALTER PROC语句修改sql存储过程

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

先来看下sql存储过程语法,ALTER PROC语句:
 

ALTER {PROC|PROCEDURE} procedure_name
[parameter declarations]
[WITH {RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}]
AS sql_statements

sql语句,如下:
 

复制代码 代码示例:

--创建数据表
16> create table Bankers(
17>    BankerID             Integer,
18>    BankerName           VARCHAR(20),
19>    BankerContactLName   VARCHAR(20),
20>    BankerContactFName   VARCHAR(20),
21>    BankerCity           VARCHAR(20),
22>    BankerState          VARCHAR(20),
23>    BankerZipCode        VARCHAR(20),
24>    BankerPhone          VARCHAR(20)
25> )
26> GO

--添加测试用数据
2> insert into Bankers values (1, 'ABC Inc.','Joe','Smith','Vancouver','BC','11111','111-111-1111');
3> GO

(1 rows affected)
1> insert into Bankers values (2, 'DEF Inc.','Red','Rice', 'New York', 'DE','22222','222-222-2222');
2> GO

(1 rows affected)
1> insert into Bankers values (3, 'HJI Inc.','Kit','Cat',  'Paris',    'CA','33333','333-333-3333');
2> GO

(1 rows affected)
1> insert into Bankers values (4, 'QWE Inc.','Git','Black','Regina',   'ER','44444','444-444-4444');
2> GO

(1 rows affected)
1> insert into Bankers values (5, 'RTY Inc.','Wil','Lee',  'Toronto',  'YU','55555','555-555-5555');
2> GO

(1 rows affected)
1> insert into Bankers values (6, 'YUI Inc.','Ted','Larry','Calgary',  'TY','66666','666-666-6666');
2> GO

(1 rows affected)
1> insert into Bankers values (7, 'OIP Inc.','Yam','Act',  'San Franc','FG','77777','777-777-7777');
2> GO

(1 rows affected)
1> insert into Bankers values (8, 'SAD Inc.','Hit','Eat',  'Orland',   'PO','88888','888-888-8888');
2> GO

(1 rows affected)
1> insert into Bankers values (9, 'DFG Inc.','Sad','Lee',  'Wisler',   'PL','99999','999-999-9999');
2> GO

(1 rows affected)
1> insert into Bankers values (0, 'GHJ Inc.','Bit','Lee',  'Ticker',   'MN','00000','000-000-0000');
2> GO

(1 rows affected)

--创建sql存储过程
3> CREATE PROC spBankerState
4>        @StateVar varchar(20)
5> AS
6> SELECT BankerName
7> FROM Bankers
8> WHERE BankerState = @StateVar
9> GO

--修改sql存储过程
2> --A statement that changes the parameter defined by the procedure
3>
4> ALTER PROC spBankerState
5>       @StateVar varchar(20) = NULL
6> AS
7> IF @StateVar IS NULL
8>    SELECT BankerName
9>    FROM Bankers
10> ELSE
11>    SELECT BankerName
12>    FROM Bankers
13>    WHERE BankerState = @StateVar
14> GO

--删除存储过程与数据表
2> drop PROC spBankerState;
3> GO
1>
2> drop table Bankers;
3> GO