存储过程还有
‘壹’ 有哪些最常用的系统存储过程
sp_databases 列出服务器上的所有数据库
sp_helpdb 报告有关指定数据库或所有数据库的信息
sp_renamedb 更改数据库的名称
sp_tables 返回当前环境下可查询的对象的列表
sp_columns 返回某个表列的信息
sp_help 查看某个表的所有信息
sp_helpconstraint 查看某个表的约束
sp_helpindex 查看某个表的索引
sp_stored_proceres 列出当前环境中的所有存储过程
sp_password 添加或修改登录帐户的密码
sp_helptext 显示默认值、未加密的存储过程、用户定义的存储过程、触发器或视图的实际文本
‘贰’ 存储过程应用语句有哪些
存储过程与其他面向对象的程序设计语言一样,同样包含数据类型、流程控制、语句注释、输入和输出与自己的函数库。存储过程的流程控制语句有ifelse、casewhenthen、while等,但没有for循环,跟C++、Java等语言的流程控制语句非常类似。条件语句条件语句是流程控制的重要组成部分,跟其他编程语言一样,存储过程允许使用if关键字来作条件判断,除此之外,还可以使用case来实现其他更为灵活的条件控制。
1.if语句(1)if语法if语句是最普通的条件控制语句,其语法简单易懂,在存储过程代码中随处可见,也是使用频率最高的条件判断语句。
语法格式:if…then…elseif…then…else…endif其中,((1)if后面跟判断条件;
(2)elseif后面跟判断条件;
(3)then后面跟条件分支语句块;
(4)可以有多个elseif…then语句块,也可以没有;(5)else表示以上条件均不满足时会执行的语句块;
(6)整个条件语句块的最后面以endif表示结束。if语句的用法,以语句“ifcondition_para=1then”开始条件控制,以语句“endif”结束条件控制,中间用“elseif”“else”作条件分支控制。单个sql语句if语法语句格式:if(expr1
‘叁’ 数据库原理-存储过程的类型有哪些分别有什么特征。
(3).存储过程分类<1>.系统存储过程系统存储过程(System
Stored
Proceres)主要存储在master数据库中,并以sp_为前缀,并且系统存储过程主要是从系统表中获取信息,从而为系统管理员管理SQL
Server提供支持。<2>.本地存储过程本地存储过程(Local
Stored
Proceres)也就是用户自行创建在用户数据库中的存储过程。事实上一般所说的存储过程值得就是本地存储过程。用户创建的存储过程是由用户创建并能完成某一特定功能(如查询用户所需的数据信息)的存储过程。<3>.临时存储过程临时存储过程(Temporary
Stored
Proceres)可分为以下两种:A.本地临时存储过程如果在创建存储过程中,以井号(#)作为其名称的第一个字符,则该存储过程将成为一个存放在tempdb数据库中的本地临时存储过程(例如,CREATE
PROCEDURE
#book_proc.....)。本地临时存储过程只有创建它的连接的用户才能够执行它,而且一旦这位用户断开与SQL
Server的连接,本地临时存储过程就会自动删除,当然,这位用户也可以在连接期间用DROP
PROCEDURE命令删除多创建的本地临时存储过程。B.全局临时存储过程如果在所创建的存储过程名称是以两个井号(#
#)开始,则该存储过程将成为一个存储在tempdb数据库中的全局临时存储过程,如果没有,便立即将全局临时存储过程删除;如果有,SQL
Server会让这些执行中的操作继续进行,但是不允许任何用户再执行全局临时存储过程,等到所有未完成的操作执行完毕后,全局临时存储过程就会自动删除。由于全局临时存储过程能够被所有的连接用户使用,因此,必须注意其名称不能和其他连接所采用的名称相同。<4>.远程存储过程远程存储过程(Remote
Stored
Proceres)是位于远程服务器上的存储过程,通常可以使用分布式查询和EXECUTE命令执行一个远程存储过程。
‘肆’ 数据库中存储过程有什么作用
第一:存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快。
第二:存储过程可以接受参数、输出参数、返回单个或多个结果集以及返回值。可以向程序返回错误原因。
第三:存储过程运行比较稳定,不会有太多的错误。只要一次成功,以后都会按这个程序运行。
第四:存储过程主要是在服务器上运行,减少对客户机的压力。
第五:存储过程可以包含程序流、逻辑以及对数据库的查询。同时可以实体封装和隐藏了数据逻辑。
第六:存储过程可以在单个存储过程中执行一系列 SQL 语句。
第七:存储过程可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。
其实存储过程还可以控制权限,比如一个表不直接允许用户直接访问,但要求允许用户访问和修改其中一个或多个字段,那就可以通过一个存储过程来实现并允许该用户使用该存储过程。
还有,如果多条SQL语句执行过程中,过程环节返回了数据作为后面环节的输入数据,如果直接通过SQL语句执行,势必导致大量的数据通过网络返回到客户机,并在客户机运算;如果封装在存储过程中,则将运算放在服务器进行,不但减少了客户机的压力,同时也减少了网络流量,提高了执行的效率。
‘伍’ 什么是存储过程有什么优点
存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。
优点:
1、重复使用:存储过程可以重复使用,从而可以减少数据库开发人员的工作量。
2、减少网络流量:存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。
3、安全性:参数化的存储过程可以防止SQL注入式攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。

(5)存储过程还有扩展阅读:
存储过程的缺点:
1、更改比较繁琐:如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则仍需要更新程序集中的代码以添加参数、更新 GetValue() 调用,等等,这时候估计比较繁琐。
2、可移植性差:由于存储过程将应用程序绑定到 SQL Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性。如果应用程序的可移植性在您的环境中非常重要,则需要将业务逻辑封装在不特定于 RDBMS 的中间层中。
‘陆’ 什么是存储过程有什么优点
存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。
优点:
1、重复使用:存储过程可以重复使用,从而可以减少数据库开发人员的工作量。
2、减少网络流量:存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。
3、安全性:参数化的存储过程可以防止SQL注入式攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。

(6)存储过程还有扩展阅读:
存储过程的缺点:
1、更改比较繁琐:如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则仍需要更新程序集中的代码以添加参数、更新 GetValue() 调用,等等,这时候估计比较繁琐。
2、可移植性差:由于存储过程将应用程序绑定到 SQL Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性。如果应用程序的可移植性在您的环境中非常重要,则需要将业务逻辑封装在不特定于 RDBMS 的中间层中。
‘柒’ 什么是存储过程存储过程有什么特点
存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。
这类语言主要提供以下功能,让用户可以设计出符合应用需求的程序:
1)、变量说明
2)、ANSI(美国国家标准化组织)兼容的SQL命令(如Select,Update….)
3)、一般流程控制命令(if…else…、while….)
4)、内部函数
‘捌’ 存储过程的作用是什么
你会写程序吗?存储过程就是程序,就是语句的集合。有些数据的批量连贯的处理,不好用程序写,用过程写会很方便,而且执行效率也高。如果你这些处理的数据是有规律的,或者需要反复处理的,那你就定义过程,然后根据你传入的参数进行处理。跟程序中的过程没什么两样。而且还有如下
1.存储过程可以使得程序执行效率更高、安全性更好,因为过程建立之后
已经编译并且储存到数据库,直接写sql就需要先分析再执行因此过程效率更高,直接写sql语句会带来安全性问题,如:sql注入
2.建立过程不会很耗系统资源,因为过程只是在调用才执行。
3.存储过程可以用于降低网络流量,存储过程代码直接存储于数据库中,所以不会产生大量t-sql语句的代码流量。
4.使用存储过程使您能够增强对执行计划的重复使用,由此可以通过使用远程过程调用
(rpc)
处理服务器上的存储过程而提高性能。rpc
封装参数和调用服务器端过程的方式使引擎能够轻松地找到匹配的执行计划,并只需插入更新的参数值。
5.可维护性高,更新存储过程通常比更改、测试以及重新部署程序集需要较少的时间和精力。
6.代码精简一致,一个存储过程可以用于应用程序代码的不同位置。
7.增强安全性:
a、通过向用户授予对存储过程(而不是基于表)的访问权限,它们可以提供对特定数据的访问;
b、提高代码安全,防止
sql注入(但未彻底解决,例如,将数据操作语言--dml,附加到输入参数);
c、sqlparameter
类指定存储过程参数的数据类型,作为深层次防御性策略的一部分,可以验证用户提供的值类型(但也不是万无一失,还是应该传递至数据库前得到附加验证)。
缺点就是:
1、大量的利用过程,会对服务器压力比较大。
