存储过程的分类■系统存储过程:SOLSeryer内置的存储过程,存储在master库中,主要用途是执行SOLServer的某些管理功能、显示有关数据库和用户的信息。系统存储过程名以SP开头,可以在任何数据库中执行系统存储过程。用户存储过程:用户自行创建并存储在用户数据库中的存储过程临时存储过程:分为局部临时存储过程和全局临时存储过程。6
6 存储过程的分类 ◼ 系统存储过程: SQL Server内置的存储过程,存 储在master库中,主要用途是执行SQL Server的 某些管理功能、显示有关数据库和用户的信息。 系统存储过程名以SP_开头,可以在任何数据库 中执行系统存储过程。 ◼ 用户存储过程:用户自行创建并存储在用户数据 库中的存储过程。 ◼ 临时存储过程:分为局部临时存储过程和全局临 时存储过程
存储过程的分类>局部临时存储过程名称以开头,存放在tempdb数据库中,只由创建并连接的用户使用,当该用户断开连接时将自动删除局部临时存储过程,>全局临时存储过程名称以#开头,存放在tempdb数据库中,允许所有连接的用户使用在所有用户断开连接时自动被册删除。远程存储过程:位于远程服务器上的存储过程。■扩展存储过程:利用外部语言(如C)编写的存储过程,以弥补SOLServer的不足之处,扩展新的功能
7 存储过程的分类 ➢局部临时存储过程名称以#开头,存放在 tempdb数据库中,只由创建并连接的用户使 用,当该用户断开连接时将自动删除局部临时 存储过程。 ➢全局临时存储过程名称以##开头,存放在 tempdb数据库中,允许所有连接的用户使用, 在所有用户断开连接时自动被删除。 ◼ 远程存储过程:位于远程服务器上的存储过程。 ◼ 扩展存储过程:利用外部语言(如C)编写的存 储过程,以弥补SQL Server的不足之处,扩展新 的功能
创建存储过程8.1.2使用CREATEPROCEDURE语句一使用企业管理器中的菜单命令8
8 8.1.2 创建存储过程 ◼ 使用CREATE PROCEDURE语句 ◼ 使用企业管理器中的菜单命令
CREATEPROCEDURE语句CREATEPROCIEDURE丨存储过程名I:编号【@参数数据类型}【VARYINGI=默认值】[OUTPUT[,...n]WITHRECOMPILEENCRYPTIONRECOMPILE,ENCRYPTIONIIASSQL语句【...n]9
9 CREATE PROCEDURE语句 CREATE PROC[ EDURE ] 存储过程名[;编号] [ { @参数 数据类型 } [ VARYING ] [ = 默认值 ] [ OUTPUT ] ] [,.n] WITH { RECOMPILE | ENCRYPTION | RECOMPILE,ENCRYPTION}] AS SQL语句 [ .n ]
参数说明存储过程名必须符合标识符的命名规则,且对于数据库及其所有者必须是惟一的。要创建局部临时存储过程,可以在存储过程名前面加个#号,要创建全局临时过程,可以在存储过程名前面加两个#号。完整的名称(包括#或##)不能超过128个字符。编号:可选整数,用来对同名的存储过程分组,以便用一条DROPPROCEDURE语句即可将同组的存储过程一起删除10
10 参数说明 ◼ 存储过程名必须符合标识符的命名规则,且对 于数据库及其所有者必须是惟一的。要创建局 部临时存储过程,可以在存储过程名前面加一 个#号,要创建全局临时过程,可以在存储过 程名前面加两个#号。完整的名称(包括# 或 ##)不能超过128个字符。 ◼ 编号:可选整数,用来对同名的存储过程分组, 以便用一条DROP PROCEDURE语句即可将同 组的存储过程一起删除