带您了解三类SQL存储过程
创始人
2024-07-14 15:20:54
0

SQL存储过程分为三类,下面将为您详细介绍这三类SQL存储过程,供您参考,如果您对此有兴趣的话,不妨一看,相信对您会有所启迪。

SQL存储过程:
系统存储过程:(System stored Procedure)sp_开头,为SQLSERVER内置存储过程。
扩展存储过程:(Extended stored Procedure),也就是外挂程序,用于扩展SQLSERVER的功能,以sp_或者xp_开头,以DLL的形式单独存在。

(系统存储过程和扩展存储过程都是在master数据库中。sp_开头的可是全局的,任何一个数据库都可以直接调用的。)
系统存储过程主要分为以下几类:

目录存储过程,例如:
sp_columns 返回当前环境中可查询的指定表或视图的列信息。
sp_tables 返回当前环境下可查询的对象的列表(任何可出现在 FROM 子句中的对象)。
sp_stored_procedures 返回当前环境中的存储过程列表。

复制类存储过程,例如:
sp_addarticle 创建项目并将其添加到发布中。此存储过程在发布服务器的发布数据库上执行。

安全管理类存储过程,例如:
sp_addrole 在当前数据库创建新的 Microsoft® SQL Server™ 角色。
sp_password 添加或更改 Microsoft® SQL Server™ 登录的密码。

分布式查询存储过程,例如:
sp_foreignkeys 返回引用主键的外键,这些主键在链接服务器中的表上。
sp_primarykeys 返回指定远程表的主键列,每个键列占一行。

扩展存储过程:
xp_sendmail 向指定的收件人发送邮件和查询结果集附件。
xp_startmail 启动 SQL 邮件客户端会话。
xp_cmdshell 以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返回任何输出。授予非管理用户执行xp_cmdshell 的权限。

用户定义的存储过程:(User-defined stored Procedure),这个就是用户在具体的数据库中自己定义的,名字***不要以sp_和xp_开头,防止混乱。

注意事项:

1.在存储过程中,有些建立对象的语句是不可使用的:create default,create trigger,create procedure,create view,create rule.
2.在同一数据库中,不同的所有者可以建立相同名称的对象名。例如:a.sample,b.sample,c.sample三个数据表可以同时存在。如果存储过程中未指明对象的所有者(例如存储过程中的语句select * from sample,这句中的sample没有指明所有者),在执行的过程中默认的所有者查找顺序是:相应的存储过程的建立者->相应数据库的所有者。如果这个查找过程中没有把所有者确定下来,系统就要报错。
(这里我额外插一句:如果需要严密的数据操作,在任何操作中尽量加上所有者,例如leijun.sample)
3.在存储过程名称前边添加#或者##,所建立的存储过程则是“临时存储过程“(#是局部临时存储过程,##是全局临时存储过程)。
 

 

 

【编辑推荐】

SQL修改列及表名的问题

如何定义SQL主键

教您使用SQL语句修改SQL主键

SQL字段类型长度的更改方法

sql server主键的问题现状

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...