sql存储过程分类

 系统存储过程
系统存储过程在“master”数据库中创建并存储,并以sp_为前缀,主要用来从系统表中获取信息,为系统管理员管理SQL Server提供帮助,为用户查看数据库提供方便。用户可从任何数据库中执行系统存储过程,而无需使用“master”数据库名称来完全限定该存储过程的名称。例如,要查看存储过程的文本信息可用系统存储过程sp_helptext。
用户尽可能不要用以sp_为前缀的存储过程名称。SQL Server 2000是按照下列顺序查找以sp_为前缀的存储过程。
(1)在“master”数据库中查找存储过程。
(2)根据所提供的任何限定符(数据库名称或所有者)查找存储过程。
(3)如果没有指定所有者,则使用dbo作为所有者查找存储过程。
当用户创建的存储过程与系统存储过程同名时,用户创建的存储过程将不会被执行。
本地存储过程
本地存储过程是用户根据需要,在自己创建的数据库中所创建的存储过程,也就是在“master”、“model”、“msdb”、“tempdb”、“northwind”和“pubs”数据库以外的数据库所创建的存储过程。
临时存储过程
临时存储过程通常分为局部临时存储过程(#存储过程名)和全局临时存储过程(##存储过程名)。创建局部临时存储过程时,要以#作为过程名的前缀。创建全局临时存储过程时,要以##作为过程名的前缀。临时存储过程在连接到SQL Server 2000的早期版本时很有用,这些早期版本不支持再次使用Transact-SQL语句或批处理执行计划。连接到SQL Server 2000的应用程序应使用sp_executexql系统存储过程,而不使用临时存储过程。
只有创建本地临时存储过程的连接才能执行该过程,当关闭此连接时,将自动删除临时存储过程。
任何连接都可执行全局临时存储过程。只有创建该过程的用户关闭所有的连接时,并且所有连接该过程的当前执行版本运行完毕后,全局临时存储过程将自动删除。一旦用于创建该过程的连接关闭,将不再允许启动并执行该过程,只允许那些已启动执行该存储过程的连接完成该过程的运行。
在“tempdb”数据库中创建没有#或##前缀的存储过程,当每次启动SQL Server 2000时,“tempdb”都要重新创建该存储过程,因此当关闭SQL Server 2000时将自动删除该存储过程。直接在“tempdb”数据库中创建的存储过程,即使关闭连接,该存储过程也会存在,可向其他用户授予、拒绝和废除执行该临存储过程的权限。
远程存储过程
远程存储过程是SQL Server 2000的一个传统功能,是指非本地服务器上的存储过程。现在只有在分布式查询中使用此类存储过程。
扩展存储过程可以使用像C语言创建自己的外部例程一样。扩展存储过程以xp_为前缀,它是系统数据库引擎的开放式数据服务层的一部分,扩展存储过程可返回结果,也可返回状态。从而扩展了Transact-SQL功能。(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值