Oracle学习笔记十二 子程序(存储过程、自定函数)和程序包
子程序
子程序的优点:
存储过程
aaarticlea/png;base64,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" alt="" width="383" height="219" />
一个购票过程可以分为很多个子过程,分别完成。
创建存储过程
创建过程的语法:
CREATE [OR REPLACE] PROCEDURE
<procedure name> [(<parameter list>)]
IS|AS
<local variable declaration>
BEGIN
<executable statements>
[EXCEPTION
<exception handlers>]
END;
CREATE OR REPLACE PROCEDURE find_emp
(emp_no NUMBER)
AS
empname VARCHAR2(20);
BEGIN
SELECT ename INTO empname
FROM EMP WHERE empno = emp_no;
DBMS_OUTPUT.PUT_LINE('雇员姓名是 '|| empname);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE ('雇员编号未找到');
END find_emp;
我们还可以:
--查询用户所定义的存储过程
select distinct name from user_source where type = 'PROCEDURE'; --查看存储过程定义的源码内容(PL/SQL语句)
select text from user_source where name = 'P_TEST'; --如果定义有错误,查看错误原因
Show error procedure 存储过程名 --删除存储过程
Drop procedure 存储过程名;
过程参数的三种模式:
--统计满足指定工资数的员工的数量:带输入参数in的存储过程
Create or replace procedure p_total_sal(var_sal in int) is
Var_count int;
Begin
Select count(*) into var_count from emp where sal > var_sal;
Dbms_output.put_line(' 符合要求的员工总数为: ' || var_count);
Exception
When others then
Dbms_output.put_line('未知错误');
End;
--定义一个存储过程返回指定部门的员工总数:带返回值out的存储过程
Create or replace procedure p_get_emp(var_deptno int, var_total out int) as
Var_n int;
Begin
Select count(*) into var_n from emp where deptno = var_deptno;
Var_total := var_n; --总数由参数返回
End;
--使用
Declare
Var_s int;
Begin
p_get_emp(10, var_s);
Dbms_output.put_line('返回的值为' || var_s);
End;
--定义一个存储过程,通过该存储过程能返回一个结果集(游标)。
Create or replace procedure p_get_datas(mycur out sys_refcursor) is
Begin
Open mycur for select * from emp where deptno = 10;
End;
--调用:
Declare
Var_cur sys_refcursor; --接收参数
Row emp%rowtype;
Begin
p_get_datas(var_cur);
--无需再次打开,因为在存储过程中已经打开过了
Loop
Fetch var_cur into row;
Exit when var_cur%notfound;
Dbms_output.put_line(row.ename || ' ' || row.job);
End loop;
End;
--输入输出参数
--根据员工编号返回他的工资的存储过程
Create or replace procedure p_get_sal(var_n in out int) is
Begin
Select sal into var_n from emp where empno = var_n);
End;
--调用:
Declare
Var_s int;
Begin
Var_s := &n;
p_get_sal(var_s);
Dbms_output.put_line('他的工资为:' || var_s);
End;
存储过程的使用
--存储过程的使用
1 命令方式:execute 存储过程名;
2 在PL/SQL中:直接使用 存储过程名 即可
调用存储过程时传递参数的方式。
1、按照位置方式传递。
Swap(num1,num2);
2、按名称方式传递。
swap(p2=>num2,p1=>num1);
(p1,p2是定义存储过程时参数名字)
将过程的执行权限授予其他用户:
GRANT EXECUTE ON find_emp TO MARTIN;
GRANT EXECUTE ON swap TO PUBLIC;(所有数据库用户)
函数
CREATE [OR REPLACE] FUNCTION
<function name> [(param1,param2)]
RETURN <datatype> IS|AS
[local declarations]
BEGIN
Executable Statements;
RETURN result;
EXCEPTION
Exception handlers;
END;
创建函数
CREATE OR REPLACE FUNCTION fun_hello
RETURN VARCHAR2
IS
BEGIN
RETURN '朋友,您好';
END;
SELECT fun_hello FROM DUAL;
例
CREATE OR REPLACE FUNCTION
item_price_range (price NUMBER)
RETURN VARCHAR2 AS
min_price NUMBER;
max_price NUMBER;
BEGIN
SELECT MAX(ITEMRATE), MIN(ITEMRATE)
INTO max_price, min_price
FROM itemfile;
IF price >= min_price AND price <= max_price
THEN
RETURN '输入的单价介于最低价与最高价之间';
ELSE
RETURN '超出范围';
END IF;
END;
DECLARE
P NUMBER := 300;
MSG VARCHAR2(200);
BEGIN
MSG := item_price_range(300);
DBMS_OUTPUT.PUT_LINE(MSG);
END;
过程和函数的比较
过 程 |
函 数 |
作为 PL/SQL 语句执行 |
作为表达式的一部分调用 |
在规格说明中不包含 RETURN 子句 |
必须在规格说明中包含 RETURN 子句 |
不返回任何值 |
必须返回单个值 |
可以包含 RETURN 语句,但是与函数不同,它不能用于返回值 |
必须包含至少一条 RETURN |
程序包
aaarticlea/png;base64,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" alt="" width="609" height="212" />
程序包规范
CREATE [OR REPLACE]
PACKAGE
package_name IS|AS
[Public item declarations]
[Subprogram specification]
END [package_name];
程序包主体
CREATE [OR REPLACE] PACKAGE BODY package_name IS|AS
[Private item declarations]
[Subprogram bodies]
[BEGIN
Initialization]
END [package_name];
例
CREATE OR REPLACE PACKAGE pack_me
IS
PROCEDURE order_proc (orno VARCHAR2);
FUNCTION order_fun(ornos VARCHAR2) RETURN VARCHAR2;
END pack_me;
CREATE OR REPLACE PACKAGE BODY pack_me AS
PROCEDURE order_proc (orno VARCHAR2) IS
stat CHAR(1);
BEGIN
SELECT ostatus INTO stat FROM order_master
WHERE orderno = orno;
……
END order_proc;
FUNCTION order_fun(ornos VARCHAR2)
RETURN VARCHAR2
IS
icode VARCHAR2(5);
ocode VARCHAR2(5);
BEGIN
……
END order_fun;
END pack_me;
程序包的优点
- 模块化
- 更轻松的应用程序设计
- 信息隐藏
- 新增功能(过程可以重载,可以定义公用变量或游标)
- 性能更佳
程序包中的游标
CREATE OR REPLACE PACKAGE cur_pack IS
CURSOR ord_cur(vcode VARCHAR2)
RETURN order_master%ROWTYPE;
PROCEDURE ord_pro(vcode VARCHAR2);
END cur_pack;
CREATE OR REPLACE PACKAGE BODY cur_pack AS
CURSOR ord_cur(vcode VARCHAR2)
RETURN order_master%ROWTYPE IS
SELECT * FROM order_master WHERE VENCODE=vcode;
PROCEDURE ord_pro(vcode VARCHAR2) IS
or_rec order_master%ROWTYPE;
BEGIN
OPEN ord_cur(vcode);
LOOP
FETCH ord_cur INTO or_rec;
EXIT WHEN ord_cur%NOTFOUND;
DBMS_OUTPUT.PUT_LIne('返回的值为' || or_rec.orderno);
END LOOP;
END ord_pro;
END cur_pack;
SELECT object_name, object_type
FROM USER_OBJECTS
WHERE object_type IN ('PROCEDURE', 'FUNCTION', 'PACKAGE', 'PACKAGE BODY');
SELECT line, text FROM USER_SOURCE WHERE NAME='TEST';
Oracle学习笔记十二 子程序(存储过程、自定函数)和程序包的更多相关文章
- Oracle学习笔记(十二)
十三.存储过程和存储函数1.掌握存储过程(相当于建立一个函数或者方法体,然后通过外部对其调用) 指存储在数据库中供所有程序调用的子程序叫做存储过程或存储函数. 相同点: 完成特定功能的程序 区别: 是 ...
- python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL
python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...
- Go语言学习笔记十二: 范围(Range)
Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...
- Oracle编程入门经典 第11章 过程、函数和程序包
目录 11.1 优势和利益... 1 11.2 过程... 1 11.2.1 语法... 2 11.2.2 建立或者替换... 2 11.2 ...
- java jvm学习笔记十二(访问控制器的栈校验机制)
欢迎装载请说明出处:http://blog.csdn.net/yfqnihao 本节源码:http://download.csdn.net/detail/yfqnihao/4863854 这一节,我们 ...
- Oracle学习笔记十 使用PL/SQL
PL/SQL 简介 PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言,是对 SQL 的扩展,它支持多种数据类型,如大对象和集合类型,可使用 ...
- (C/C++学习笔记) 十二. 指针
十二. 指针 ● 基本概念 位系统下为4字节(8位十六进制数),在64位系统下为8字节(16位十六进制数) 进制表示的, 内存地址不占用内存空间 指针本身是一种数据类型, 它可以指向int, char ...
- Python学习笔记(十二)—Python3中pip包管理工具的安装【转】
本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...
- Oracle学习笔记十四 内置程序包
扩展数据库的功能 为 PL/SQL 提供对 SQL 功能的访问 用户 SYS 拥有所有程序包 是公有同义词 可以由任何用户访问 一些内置程序包 程序包名称 说明 STANDARD和DBMS_STAND ...
随机推荐
- SiteMap 提交,并使用正确的方式提交给搜索引擎
原创Sitemap收录介绍 对于网站中原创内容的网页url,站长可以将其制作成标准的Sitemap(站点地图)文件. 站长提交Sitemap文件后,好搜会使用Sitemap中的内容来了解网站结构等信息 ...
- 浅谈JavaScript中forEach与each
forEach是ES5中操作数组的一种方法,主要功能是遍历数组,例如: var arr = [1,2,3,4]; arr.forEach(alert); 等价于: var arr = [1, 2, 3 ...
- salesforce 零基础学习(六十一)apex:component简单使用以及图片轮转播放的实现
有的时候,我们项目有可能有类似需求:做一个简单的图像轮转播放功能,不同的VF页面调用可以显示不同的图片以及不同的图片描述.这种情况,如果在每个页面单独处理相关的图像轮转播放则显得代码特别冗余,此种情况 ...
- JS作用域面试题总结
关于JS作用域问题,是面试的时候面试官乐此不疲的面试题,有时候确实是令人抓狂,今天看到一个讲解这个问题的视频,明白了那些所谓的“原理”顿时有种豁然开朗的感觉~~~ 1.js作用域(全局变量,局部变量) ...
- JavaScript:让浏览器全屏显示
并不是所有人都会按F11让浏览器全屏显示~~~ 一.直接上代码 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xh ...
- 构建自己的PHP框架--构建模版引擎(1)
前段时间太忙,导致好久都没有更新博客了,今天抽出点时间来写一篇. 其实这个系列的博客很久没有更新了,之前想好好规划一下,再继续写,然后就放下了,今天再捡起来继续更新. 今天我们来说一下,如何构建自己的 ...
- Linux 平台静默安装 Oracle客户端
需求:Linux平台,安装完整版Oracle客户端 Tips:如果只是用到sqlldr,sqlplus功能,可以参考<Linux上oracle精简版客户端快速部署>快速部署精简版:如果需要 ...
- How to implement equals() and hashCode() methods in Java[reproduced]
Part I:equals() (javadoc) must define an equivalence relation (it must be reflexive, symmetric, and ...
- html+ccs3太阳系行星运转动画之土星有个环,地球有颗小卫星
在上一篇<html+ccs3太阳系行星运转动画>中实现了太阳系八大行星的基本运转动画. 太阳系又何止这些内容,为丰富一下动画,接下来增加“土星环”和“月球”来充盈太阳系动画. 下面是充盈后 ...
- 在DevExpress程序中使用条形码二维码控件,以及进行报表打印处理
在很多业务系统里面,越来越多涉及到条形码.二维码的应用了,不管在Web界面还是WInform界面都需要处理很多物料相关的操作,甚至很多企业为了减少录入错误操作,为每个设备进行条形码.二维码的标签,直接 ...