搭建论坛《搭建之星》论坛数据库交流 → [学习]名词解释——存储过程


  共有2086人关注过本帖树形打印

主题:[学习]名词解释——存储过程

帅哥哟,离线,有人找我吗?
admin
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 搭建官方
等级:管理员 帖子:5504 积分:20561 威望:9 精华:5 注册:2002-4-5 17:08:42
[学习]名词解释——存储过程  发帖心情 Post By:2007-6-18 9:34:52

简单的说,存储过程是一组预先编译的SQL语句。它类似于其它编程语言中的过程(procedure),并且被创建后是作为数据库的一部分存储起来的,就像存储在数据库中的数据表一样。
存储过程最大的优点是减轻网络的通信负载,以提高执行速度。当通过网络对一个数据库服务器执行大批的SQL语句时,应用程序因一直与服务器保持通信,很快会在网络上形成一个非常重的负载。由于很多用户使用这个网络通信,网络运行和数据库服务器因此会变得越来越慢。而存储过程在执行时,SQL语句在数据库服务器上顺序运行的,只有过程完成后,才将结果返回到客户端的计算机上,因此占用网络通信时间很少。
其次,存储过程中的SQL语句,在创建存储过程时都是被数据库引擎编译的。因此,不用担心SQL语句的语法和书写错误。
虽然存储过程可以用在任何使用SQL语句的地方,但也并不是建议把所有的SQL语句都写成存储过程。存储过程一般应用在以下一些场合:
1.对经常使用的一组SQL语句,或者仅仅是每次调用时的条件不同。此时可以将它们设置成存储过程,通过调用时输入参数来实现。比如对数据的查询、统计等。
2.可以将用户的业务逻辑设计到存储过程中,这样即使是用户的业务逻辑改变时,前台的程序也不必改变。只要修改相关的存储过程即可。所谓业务逻辑就是处理用户业务的特定逻辑,比如用户的报表计算公式就可以看成是一个业务逻辑。
3.对于那些复杂的SQL语句,包括具有复杂的逻辑、需要中间结果的查询统计,具有很多代码等,这些都可以设计成存储过程。
4.受到权限限制的SQL语句。

在《搭建之星》中,通过“ADO存储过程”构件来调用存储过程。它的使用类似于ADO数据表构件。下面,我们还是以“学生库”中新建的存储过程“my_first”为例,说明在搭建之星中如何调用存储过程。
所需构件,如图1所示


此主题相关图片如下:
按此在新窗口浏览图片

属性设置:
ADO数据库连接,连接SQL Server数据库“学生库”。
ADO存储过程,“数据库”属性连接“ADO数据库连接1”。
“过程名称”属性,如同ADO数据表的选择表名称一样,这里选择“存储过程”名称。如图2所示


此主题相关图片如下:
按此在新窗口浏览图片

注意:在每个SQL Server数据库中,系统会自动为某一数据库建立系统存储过程,名字前缀以“dt_”开头,用户新建存储过程为了避免与系统存储过程混淆,起名时应加自己的标记。如本实例新建存储过程名称前缀为“my_”。
“活动”属性设为“真”。
ADO存储过程的属性页设置如图3所示


此主题相关图片如下:
按此在新窗口浏览图片

数据源构件,象连接“数据表”一样,直接与“ADO存储过程”连接。
浏览编辑网格与数据源构件连接。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

[学习]名词解释——存储过程








签名