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;
创建输出参数: