SQL Server 中的存储过程

一:初步了解存储过程的使用

创建一个简单的存储过程

1 CREATE PROC spEmployee
2 AS
3    SELECT * FROM HumanResources.Employee;

执行这个存储过程:

EXEC spEmployee;

删除存储过程:

1 --删除存储过程
2 DROP PROC spEmployee

二:参数化存储过程

带参数初步体验:

1 CREATE PROC spEmployeeByName
2     @LastName  nvarchar(50)  --定义一个参数   类型为 nvarchar
3 AS
4 
5 SELECT p.LastName, p.FirstName, e.JobTitle, e.HireDate
6 FROM Person.Person p
7 JOIN HumanResources.Employee e
8     ON p. BusinessEntityID = e.BusinessEntityID  --从两张表中选取信息
9 WHERE p.LastName LIKE @LastName + '%';   --存储过程的 条件

执行带参数的存储过程:

EXEC spEmployeeByName 'Dobney';  --直接附加参数的值即可

给参数提供一个默认值(为了参数是可选的):

CREATE PROC spEmployeeByName
@LastName nvarchar(50) = NULL   --将参数 LastName 的值 赋值为 NULL
AS
IF @LastName IS NOT NULL   -- 做条件判断
    SELECT p.LastName, p.FirstName, e.JobTitle, e.HireDate
    FROM Person.Person p
    JOIN HumanResources.Employee e
        ON p.BusinessEntityID = e.BusinessEntityID
    WHERE p.LastName LIKE @LastName + '%';  --注意这句
ELSE
    SELECT p.LastName, p.FirstName, e.JobTitle, e.HireDate
    FROM Person.Person p
    JOIN HumanResources.Employee e
        ON p.BusinessEntityID = e.BusinessEntityID;

创建输出参数:

原文地址:https://www.cnblogs.com/TangPro/p/3288067.html