存储程序

一、存储程序分类

1.存储函数(stored function)。返回一个计算结果,该结果可以用在表达式里。

2.存储过程(stored procedure)。不直接返回一个结果,但可以用来完成一般的运算或是生成一个结果集并传递回客户。

3.触发器(trigger)。与数据表相关联,当那个数据表被INSERT、Delete或update语句修改时,触发器将自动执行。

4.事件(event)。根据时间表在预定时刻自动执行。

二、存储过程的有点与能力

1.存储程序对象的可执行部分可以用复合语句来编写,复合语句对SQL语法进行了扩展,可以包括代码块、循环和条件语句。

2.存储程序都被保存在服务器端,定义它们所需要的代码只需在它们被创建时通过网络传递一次,而不是每次执行都要传递一次。这大大减少了开销。

3.它们可以把复杂的计算封装为程序单元,可以简单地通过程序单元的名字来调用它们。

4.它们可以用来实现”标准化“的计算操作。可以把一组存储程序打包为一个”函数库“供其他应用程序调用,让那些应用程序以同样的方式完成操作。

5.它们提供了一种错误处理机制。

6.它们可以提高数据库的安全。可以通过选择存储程序执行时所需的权限下来对敏感数据的访问情况进行限制和调控。

三、常用术语

1.存储程序

  泛指各种类型的存储对象(存储函数、存储过程、触发器、事件)。

2.存储例程(stored routine)。

  特指存储函数和存储过程。

四、复合语句和语句分隔符

时间: 2024-10-09 02:37:26

存储程序的相关文章

PL/SQL编程_存储程序

在前面的部分介绍了PL/SQL块的基本编写方法. 在SQL*plus 中编写PL/SQL程序,并在SQL*plus 中执行它, PL/SQL块的代码就存放在SQL*plus的缓冲区中.如果在SQL*plus 中执行了其他的SQL语句或PL/SQL块,缓冲区中就会存放新的代码,原来的PL/SQL块就会被从缓冲区中清除出去.这种没有名称只是临时存放在缓冲区中的PL/SQL块叫做匿名块.匿名块就是没有名字的PL/SQL块,它仅存放在缓冲区中,只能在当前SQL*plus环境中执行.如果希望PL/SQL块

【原创】存储程序与冯诺依曼型计算机

在没有存储程序以前的计算机——ENIAC ENIAC长30.48米,宽1米,高2.4米,占地面积约170平方米,30个操作台,重达30英吨,耗电量150千瓦,造价48万美元.它包含了17,468根真空管7,200根水晶二极管,1,500 个中转,70,000个电阻器,10,000个电容器,1500个继电器,6000多个开关,每秒执行5000次加法或400次乘法,是继电器计算机的1000倍.手工计算的20万倍. 原本的ENIAC存在两个问题没有存储器且它用布线接板进行控制,它的存储容量极小,只能存

世界上第一台电子存储程序计算机

计算硬件的历史涵盖了早期简单设备的发展,以帮助计算到现代计算机.在20世纪之前,大部分计算都是由人类完成的.帮助人类进行数字计算的早期机械工具,如算盘,被称为"计算机器",称为专有名称,或称为计算器.机器操作员被称为电脑. 第一种计算辅助工具是纯粹的机械设备,它要求操作员设置基本算术运算的初始值,然后操作设备以获得结果.后来,计算机以连续的形式表示数字,例如沿着刻度的距离,轴的旋转或电压.数字也可以用数字形式表示,由机械机构自动操纵. 虽然这种方法通常需要更复杂的机制,但它大大提高了结

MySql视图和存储程序

1.视图 1.创建视图 create view(字段别名...) as 选择语句 例: create view(ln,fn) as select last_name,first_name from student; 2.可以通过视图对底层表进行增删改查操作. 2.存储程序 1.复合语句和语句分隔符 delimiter 分隔符名 create procedure 函数名() begin 函数体 end;delimiter #结束分隔符call 函数名 例:delemiter $create pro

远程存储程序

程序清单文件: 1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.hanqi.cunchu"> 4 5 <uses-permission android:name="android.pe

Mysql 存储程序

#1存储过程create procedure greeting() BEGIN # 77 = 16 FOR username + 60 for hostname + 1 for '@' DECLARE user CHAR(77) CHARACTER SET utf8; SET user = (SELECT CURRENT_USER()); IF INSTER(user, '@') > 0 THEN SET user = SUBSTRING_INDEX(user, '@',1); END IF;

补基础:自学:计算机科学导论 第五章 计算机组成

计算机的组成部件分为三大类(或子系统): 中央处理器(CPU) 主存储器 输入/输出子系统 5.1 中央处理单元(CPU) 用于数据的运算. CPU又有三个组成部分: 算术逻辑单元(ALU):可对数据进行,逻辑.移位和算数运算 控制单元:控制各个子系统的操作.控制是通过从控制单元发送到其他子系统的信号来进行 寄存器组(快速存储单元):用来临时存放数据的高速独立的存储单元. 1. 数据寄存器     提高运算速度,保存这些运算的中间结果 2. 指令寄存器     CPU从内存中逐条地取出指令,并将

完成一个简单的时间片轮转多道程序内核代码

王康 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 " 分别是1 存储程序计算机工作模型,cpu执行程序的基础流程: 2 函数调用堆栈:各种寄存器和存储主要是为了指令的传取值,通过eip,esp,eax,ebp和程序内存的分区,搭配push pop call return leave等一系列指令完成函数调用操作. 3 中断:多道批程序! 在复习一下上一讲的几个重要指令

作业练习:1

1.描述计算机的组成及功能 计算机是由运算器.控制器.存储器.输入.输出设备 运算器:主要功能对数据的各种运算 运算除了常规的加.减.乘.除基本的运算 还包括能进行'逻辑判断'能力 控制器:其实就是一个计算机的控制中心 保证计算机规定的目标步骤进行操作处理 存储器:存储程序和数据的信息,在计算机运行过程中自动的完成程序.数据的存储 输入设备:在计算机输入的数据和程序 如:键盘.鼠标.扫描仪等 输出设备:在计算机输出的数据和程序 如:显示器.打印机等 2.按系列罗列linux的发行版,并描述不同发