五、SQLSERVER存储过程


1、创建存储过程

CREATE PROCEDURE --存储程序名称
--参数
AS
--T-SQL语句

示例:无返回值

CREATE PROCEDURE sp_GetEmployeeId
    @employeeid int
AS
SELECT orderid , customerid
FROM orders
WHERE employeeid = @employeeid

示例二:有返回值

CREATE PROCEDURE sp_Orders
	@ordercount INT = 0 OUTPUT
AS
SELECT @ordercount = 1
return @ordercount

调用返回值:

DECLARE @ordercount INT --声明一个变量
EXECUTE @ordercount= sp_Orders --使用变量来接收 return回来的值 
SELECT @ordercount

示例三:带OUTPUT参数的存储过程

CREATE PROCEDURE p_2 @str NVARCHAR(20)=NULL OUTPUT,@int INT=NULL OUTPUT
AS 
SET @str='say hi';
SET @int =1024;


DECLARE @p1 NVARCHAR(20),@p2 INT --声明两个变量

--执行
EXECUTE p_2 @p1 OUTPUT,@p2 OUTPUT --变量后有OUTPUT
SELECT @p1,@p2

--结果
------------------------
(无列名)    (无列名)
say hi    1024


--执行
EXECUTE p_2 @p1 ,@p2  --注意这里没有OUTPUT
SELECT @p1,@p2

--结果
-----------------------
(无列名)    (无列名)
NULL    NULL

2、修改存储过程

ALTER PROCEDURE --存储程序名称
   --参数
AS
    --T-SQL语句

 3、查看存储过程

execute sp_helptext --存储过程名称

4、重命名存储过程

EXECUTE sp_rename --需要改的存储过程名称  --改后的存储过程名称

5、调用存储过程

EXECUTE 存储过程名称 参数

6、删除存储过程

DROP PROCEDURE proName