大型系统必须得要存储过程和触发器中调用存储过程吗

一、存储过程
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
在大型数据库系统中,存储过程和触发器具有很重要的作用。无论是存储过程还是触发器,都是SQL 语句和流程控制语句的集合。就本质而言,触发器也是一种存储过程。存储过程在运算时生成执行方式,所以,以后对其再运行时其执行速度很快。SQL Server 2005 不仅提供了用户自定义存储过程的功能,而且也提供了许多可作为工具使用的系统存储过程。
二、存储过程的种类
  以sp_开头,用来进行系统的各项设定.取得信息.相关管理工作。
  用户创建的存储过程是由用户创建并完成某一特定功能的存储过程,事实上一般所说的存储过程就是指本地存储过程。
  分为两种存储过程:
  一是本地临时存储过程,以井字号(#)作为其名称的第一个字符,则该存储过程将成为一个存放在tempdb数据库中的本地临时存储过程,且只有创建它的用户才能执行它;
  二是全局临时存储过程,以两个井字号(##)号开始,则该存储过程将成为一个存储在tempdb数据库中的全局临时存储过程,全局临时存储过程一旦创建,以后连接到服务器的任意用户都可以执行它,而且不需要特定的权限。
  在SQL Server2005中,远程存储过程(Remote Stored Procedures)是位于远程服务器上的存储过程,通常可以使用分布式查询和EXECUTE命令执行一个远程存储过程。
  扩展存储过程(Extended Stored Procedures)是用户可以使用外部程序语言编写的存储过程,而且扩展存储过程的名称通常以xp_开头。
三、基本语法
1.创建存储过程
create procedure sp_name
  @[参数名] [类型],@[参数名] [类型]
  .........
  以上格式还可以简写成:
  create proc sp_name
  @[参数名] [类型],@[参数名] [类型]
  .........
  /*注:“sp_name”为需要创建的存储过程的名字,该名字不可以以阿拉伯数字开头*/
2.调用存储过程
基本语法:exec sp_name [参数名]
3.删除存储过程
a.基本语法:
  drop procedure sp_name
  b.注意事项
  (1)不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程
四.其他常用命令
  1.show procedure status
  显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
  2.show create procedure sp_name
  显示某一个mysql存储过程的详细信息
  3、exec sp_helptext sp_name
  显示你这个sp_name这个对象创建文本
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:26759次
排名:千里之外
原创:21篇
(1)(5)(27)【图文】存储过程与触发器_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
存储过程与触发器
上传于||暂无简介
大小:223.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢Java面试题之数据库存储过程与触发器
  & &&&这个问题非常考验个人能力水平和自我积累!这样的问题拿高薪必看哦!
游客,如果您要查看本帖隐藏内容请
不错 谢谢老老师&
 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。
  在实际开发中最为常见的设计范式有三个:
本帖隐藏的内容
第一范式(1NF):字段具有原子性,不可再分。所有关系型数据库系统都满足第一范式
  数据库表中的字段都是单一属性的,不可再分。例如,姓名字段,其中的姓和名必须作为一个整体,无法区分哪部分是姓,哪部分是名,如果要区分出姓和名,必须设计成两个独立的字段。
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。
  要求数据库表中的每个实例或行必须可以被惟一地区分。通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主关键字或主键。
  第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字。
第三范式的要求如下:
  满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。
  所以第三范式具有如下特征:
  1,每一列只有一个值
  2,每一行都能区分。
  3,每一个表都不包含其他表已经包含的非主关键字信息。
  例如,帖子表中只能出现发帖人的id,而不能出现发帖人的id,还同时出现发帖人姓名,否则,只要出现同一发帖人id的所有记录,它们中的姓名部分都必须严格保持一致,这就是数据冗余。
支持&&一下支持&&一下支持&&一下支持&&一下支持&&一下支持&&一下支持&&一下支持&&一下支持&&一下支持&&一下支持&&一下
& && && && && && && && && && && && && && && && && && &啊
谢谢分享,顶一个先~~~~~
谢谢老师!学习学习
想要准备面试,学习学习
数据库存储过程与触发器
真正的程序员并不奢求取得每一分该得的钱,但任何拿到手的钱都问心无愧。
传智播客,用良心做教育的机构
数据库还有点弱啊!
传智播客牛逼!!!!!!我是你们的粉丝啊~~~入行一年了,感谢你们不停分享经验
传智播客牛逼!!!!!!我是你们的粉丝啊~~~入行一年了,感谢你们不停分享经验 ...
谢谢你的认可`我们会一如既往的坚持
我和小伙伴都惊呆了
我和小伙伴都惊呆了
准备中 学习学习
轻松打造安卓高级工程师打造会代码的全能UI设计师做被争抢的ios开发者
? ? ? ? ? ? ? ? ? ?
Powered by您说:触发器可以调用存储过程. 触发器中调用存储过程会提高系统效率_百度知道数据库存储过程、函数、触发器的区别_百度知道}

我要回帖

更多关于 存储过程与触发器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信