存储过程
存储过程是存储在数据库中的小程序(一段预编译的 SQL 代码)。这篇讲存储过程的分类,以及创建、执行、修改、删除操作。
分类
| 类型 | 命名规则 | 存放位置 |
|---|---|---|
| 系统存储过程 | 以 sp_ 为前缀 | master |
| 扩展存储过程 | 以 xp_ 为前缀 | master |
| 临时存储过程 | 以 # 开头 | tempdb |
| 用户定义存储过程 | 不能以 sp/xp 开头 | 用户数据库 |
创建存储过程
不带参数:
USE 数据库名
GO
CREATE PROCEDURE 存储过程名 -- 定义过程名
AS
SQL 语句…… -- 执行操作,实现某种功能
GO带输入参数:
USE 数据库名
GO
CREATE PROC 存储过程名 -- PROC 是 PROCEDURE 的缩写
@变量名1 数据类型, -- 定义输入参数
……
@变量名n 数据类型
AS
SQL 语句 -- 执行操作
GO执行存储过程
-- 执行不带参数的存储过程
EXEC 存储过程名
-- 执行带参数的存储过程
EXEC 存储过程名
@变量名1 = 值,
……
@变量名n = 值修改与删除
-- 修改
USE 数据库名
GO
ALTER PROCEDURE 存储过程名
AS
SQL 语句
GO
-- 删除(可一次删除多个)
DROP PROCEDURE 存储过程名1, …… 存储过程名n最后更新于