之前讨论的PL/SQL块都是匿名块,即并不能永久存储于数据库,那如何让我们的
PL/SQL块持久化到数据库中了?,以此来达到反复的调用.这就是我们马上要说的
子程序,即带有名字的程序块 如:过程、函数...
一、子程序
1.命名的PL/SQL块
2.子程序的包括3个部分
-声明部分
-可执行部分
-异常部分(可选)
3.子程序的优点
-模块化
将程序分解为多个逻辑模块
-可重用性
子程序在被执行之后,可以再任意数目的应用程序中使用
-可维护性
子程序简化了维护,可以随时取出进行修改
4.子程序的类型
- 过程 用于执行某项操作
- 函数 用于执行某项操作并返回值
两者区别大致与SQL类似
二、存储过程
- 使用Create Prodecure 语句创建
- 语法
Create [or replace] Procedure 过程名[参数列表]
IS|AS --代替了Declare声明关键字
局部声明<local declarations>
Begin
可执行语句<executable statements>
Exception [可选部分]
异常部分
End
-参数模式
1. in 接受值 默认模式
2. out 将值返回给子程序的调用程序
3. in out 接受值并返回已更新的值
-执行过程
-使用Execute 语句 简写为exec
-语法
方法1: . Execute 过程名(参数列表) 如:execute items('1002'); --注意SQL中是没有括号的
方法2: 位于匿名块中
begin
xiaojiujiu;
end;
示例1:打印乘法表
示例2:根据员工编号显示出对应职工的姓名
Code
综合示例:带输入,输出,输入输出参数的练习
Code