带您理解三类SQL存储历程[MSSQL防范]
本文“带您理解三类SQL存储历程[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
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存储历程[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |