带你快速了解"存储过程"的定义及优点

【赛迪网-IT 技术报道】“存储过程”的定义及优点

存储过程

sql 语句执行的时候要先编译,然后执行。存储过程就是编译好了的一些sql 语句。应用程序需要用的时候直接调用就可以了,所以效率会高。

存储过程介绍

存储过程是由流控制和SQL 语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时只要调用即可。在ORACLE 中,若干个有联系的过程可以组合在一起构成程序包。

使用存储过程有以下的优点:

* 存储过程的能力大大增强了SQL 语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的 运算。

* 可保证数据的安全性和完整性。

# 通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。

# 通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。

* 再运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。这种已经编译好的过程可极大地改善SQL 语句的性能。 由于执行SQL 语句的大部分工作已经完成,所以存储过程能以极快的速度执行。

* 可以降低网络的通信量。

* 使体现企业规则的运算程序放入数据库服务器中,以便:

# 集中控制。

# 当企业规则发生变化时在服务器中改变存储过程即可,无须修改任何应用程序。企业规则的特点是要经常变化,如果把体现企业规则的运算程序放入应用程序中,则当企业规则发生变化时,就需要修改应用程序工作量非常之大(修改、发行和安装应用程序)。如果把体现企业规则的 运算放入存储过程中,则当企业规则发生变化时,只要修改存储过程就可以了,应用程序无须任何变化。

数据库存储过程的实质就是部署在数据库端的一组定义代码以及SQL 。

利用SQL 的语言可以编写对于数据库访问的存储过程,其语法如下:

[ ]内的内容是可选项,而()内的内容是必选项,

例: 若用户想建立一个删除表tmp 中的记录的存储过程Select_delete可写为:

例:用户想查询tmp 表中某年的数据的存储过程

在这里@year是存储过程的参数

例:该存储过程是从某结点n 开始找到最上层的父亲结点,这种经常用到的过程可以由存储过程来担当,在网页中重复使用达到共享。

空:表示该结点为顶层结点

fjdid(父结点编号)

结点n 非空:表示该结点的父亲结点号

dwmc (单位名称)

(责任编辑:卢兆林)

【赛迪网-IT 技术报道】“存储过程”的定义及优点

存储过程

sql 语句执行的时候要先编译,然后执行。存储过程就是编译好了的一些sql 语句。应用程序需要用的时候直接调用就可以了,所以效率会高。

存储过程介绍

存储过程是由流控制和SQL 语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时只要调用即可。在ORACLE 中,若干个有联系的过程可以组合在一起构成程序包。

使用存储过程有以下的优点:

* 存储过程的能力大大增强了SQL 语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的 运算。

* 可保证数据的安全性和完整性。

# 通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。

# 通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。

* 再运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。这种已经编译好的过程可极大地改善SQL 语句的性能。 由于执行SQL 语句的大部分工作已经完成,所以存储过程能以极快的速度执行。

* 可以降低网络的通信量。

* 使体现企业规则的运算程序放入数据库服务器中,以便:

# 集中控制。

# 当企业规则发生变化时在服务器中改变存储过程即可,无须修改任何应用程序。企业规则的特点是要经常变化,如果把体现企业规则的运算程序放入应用程序中,则当企业规则发生变化时,就需要修改应用程序工作量非常之大(修改、发行和安装应用程序)。如果把体现企业规则的 运算放入存储过程中,则当企业规则发生变化时,只要修改存储过程就可以了,应用程序无须任何变化。

数据库存储过程的实质就是部署在数据库端的一组定义代码以及SQL 。

利用SQL 的语言可以编写对于数据库访问的存储过程,其语法如下:

[ ]内的内容是可选项,而()内的内容是必选项,

例: 若用户想建立一个删除表tmp 中的记录的存储过程Select_delete可写为:

例:用户想查询tmp 表中某年的数据的存储过程

在这里@year是存储过程的参数

例:该存储过程是从某结点n 开始找到最上层的父亲结点,这种经常用到的过程可以由存储过程来担当,在网页中重复使用达到共享。

空:表示该结点为顶层结点

fjdid(父结点编号)

结点n 非空:表示该结点的父亲结点号

dwmc (单位名称)

(责任编辑:卢兆林)


相关文章

  • 互联网技术发展现状与前景
  • 2015年10月上通信设计与应用7互联网技术发展现状与前景 (河南联通洛阳分公司,河南洛阳471000)龙兴国 [摘要]随着我国经济快速发展,互联网应用产业也日益兴起.互联网技术.应用的创新是通信运营商需要关注的主要问题.本文从互联网技术发 ...查看


  • 参加学术讲座和学术报告
  • 研究生(学术讲座)报告 题目:参加学术讲座和学术报告记录 学号 M201472687 姓名 刘鑫伟 专业 计算机技术 指导教师 万继光 院(系.所)武汉光电国家实验室 华中科技大学研究生院制 注意事项 一.本表适用于攻读硕士学位研究生实践课 ...查看


  • 企业人事管理(优秀)
  • 东北大学本科生毕业设计(论文)专用纸 摘要 随着计算机技术的飞速发展,大量信息扑面而来,企业应建立一套完整的现代化.网络化.规范化的人事管理系统来改变传统手工办理人事业务速度慢.效率低的弊端,提高工作效率.优化人事管理.降低劳动成本,准确地 ...查看


  • 三级信息管理技术真题2011年09月
  • 2011年9月全国计算机等级考试三级信息管理技术 笔试试卷 一.选择题 (1)冯诺依曼结构计算机由五大部件组成,它们是输入设备.输出设备和______. A) 控制器.中央处理器.存储器 B) 控制器.运算器.中央处理器 C) 控制器.运算 ...查看


  • 初级会计电算化
  • 第一章会计电算化概述 1.会计电算化有狭义和广义之分.狭义的会计电算化是指以电子计算机为主体的电子信息技术在会计工作中的应用:广义的会计电算化是指与实现电算化有关的所有工作,包括会计软件的开发应用及其软件市场的培育.会计电算化人才的培训.会 ...查看


  • 高校教师管理系统
  • 课程设计说明书 课程名称:项目名称: 学 院: 专 业:班 级:姓 名:指导教师:完成时间: 信息系统分析与设计课程设计 高校教师管理系统 计算机工程学院 XXX XXX XXX XXX 2013年1月6日 目 录 摘 要......... ...查看


  • 教师信息管理系统设计与实现
  • 本 科 生 毕 业 设 计(论文) 题 目: 学生姓名: 学 号: 专业班级: 指导教师: 教师信息管理系统设计与实现 计算机毕业设计 www.passlw.com 职称: 目 录 摘要 .......................... ...查看


  • 文献检索论文报告
  • <文献检索与利用> 课程报告 姓名: 张小超学号: 院系:电子信息工程学院班班 级: 自动化2班 课题名称(中英文): 中文: 英文: 选题简介 课题名称(中文和英文) 课题:云计算在搜索引擎中的应用 Task: Cloud c ...查看


  • 计算机导论第二版答案
  • 2011年计算机导论修订第二版课后练习答案 第一章 一.简答题 1.什么是计算机? 计算机系统是一种能够按照事先存储的程序,自动.高速的对数据进行输入.处理.输出和存储的系统.一个计算机系统包括硬件和软件两大部分. 2.解释冯·诺依曼所提出 ...查看


热门内容