存储过程
建立存储过程使用PL/SQL用来编写数据库存储过程的一种过程语言
PL/SQL 基础
1、变量常量的定义
a、变量名 数据类型 [[NOT NULL] := 初值表达式] 或 变量名 数据类型[[NOT NULL]初值表达式
b、常量的定义类似于变量的定义
常量名 数据类型 constant := 常量表达式4
常量必须要给一个值,并且该值在存在期间或常量的作用域捏不能改变,如果视图修改它,将返回一个异常
2、控制结构
一、条件控制语句
IF condition THEN
sequence_of_statements; //条件为真才执行
END IF
IF condition THEN
sequence_of_statements1; //条件为真是执行语句
ELSE
sequence_of_statements2; //条件为假执行该语句
END IF;
二、循环控制语句
PL/SQL 有三种循环结构:LOOP,WHILE-LOOP和FOR-LOOP.
1、最简单的循环语句LOOP
LOOP
sequence_of_statements; //一组语句
END LOOP;
多数数据库服务器的PL/SQL都提供EXIT,BREAK或LEAVE 循环结束语句,以保证LOOP语句块能够在适当的条件下结束
2、WHILE condition LOOP
WHILE condition LOOP
sequence_of_statement;
END LOOP;
每次执行循环体语句之前首先对条件进行求值,如果为真,则执行循体内的语句序列,如果为假则跳过循环并把控制传递给下一个语句。
3、FOR_LOOP
FOR count IN [REVERSE] boundl ...bound2 LOOP
sequence_of_statements;
END LOOP
基本执行过程:将count设置为循环的下界bound1,检查它是否小于上界bound2.它指定REVERST时则将count设置为循环的上界bound2,检查count是否大于下界bound1,如果越界则执行跳出循环,否则执行循环体,然后按照步长更新count的值,重新判断条件
三、错误处理
在执行时出现异常,则应该让程序在产生异常的语句处停下来,根据异常的类型去执行异常处理语句。
存储过程
一、
PL/SQL块主要有两种类型,即命名块和匿名块,前面介绍的是匿名块。匿名块每次执行时都要进行编译,他不能被存储到数据库中,也不能在其他的PL/SQL快中调用,存储过程和函数是命名块,他们被编译后保存在数据库中,可以被反复调用,运行速度快。
二、存储过程的用户接口
1、创建存储过程
create procedure 过程名([参数1,参数2]) //存储过程首部,类似于函数名
AS
<PL/SQL块> //存储过称提。
2、执行存储过程
CALL/PERRORM Procedure 过程名(参数1,参数2,....)
数据库服务器支持在过程体重调用其他存储过程。
3、删除存储过程
DROP PROCEDURE 过程名();