图解Oracle包实例

php中文网
发布: 2016-06-07 15:38:24
原创
1581人浏览过

以下使用SQL Developer,使用Oracle SCOTT账号自带emp表,创建包。 1在包中定义record类型,并在匿名块中调用 --在包中自定义类型 create or replace package my_bao as type emp_type is record( gh emp.empno%type, xm emp.ename%type, gz emp.sal%type );

    以下使用sql developer,使用oracle scott账号自带emp表,创建包。


短视频去水印微信小程序
短视频去水印微信小程序

抖猫高清去水印微信小程序,源码为短视频去水印微信小程序全套源码,包含微信小程序端源码,服务端后台源码,支持某音、某手、某书、某站短视频平台去水印,提供全套的源码,实现功能包括:1、小程序登录授权、获取微信头像、获取微信用户2、首页包括:流量主已经对接、去水印连接解析、去水印操作指导、常见问题指引3、常用工具箱:包括视频镜头分割(可自定义时长分割)、智能分割(根据镜头自动分割)、视频混剪、模糊图片高

短视频去水印微信小程序 0
查看详情 短视频去水印微信小程序

1 在包中定义record类型,并在匿名块中调用
--在包中自定义类型
create or replace package my_bao
as
type emp_type is record(
    gh emp.empno%type,
    xm emp.ename%type,
    gz emp.sal%type
);
end;

创建之后刷新一下,左侧视图 程序包 下出来所创建内容;

图解Oracle包实例


2 调用,

declare
v1 my_bao.emp_type;
begin
select empno,ename,sal into v1 from emp where empno=7900;
dbms_output.put_line('工号='||v1.gh);
dbms_output.put_line('姓名='||v1.xm);
dbms_output.put_line('工资='||v1.gz);
end;

结果如下图;

图解Oracle包实例

    如果DBMS输出中没有内容,点击上图中最右侧的像书的页的那个小图标,打开DBMS输出;


3 在包中定义过程hello和函数f_add(p1,p2)
--定义包规范
create or replace package my_bao2
as
type emp_type is record(
    gh emp.empno%type,
    xm emp.ename%type,
    gz emp.sal%type
);
procedure hello(p_name varchar2);
function f_add(p1 number,p2 number) return number;
end;

图解Oracle包实例


4 实现包规范,即包体(package body)
create or replace package body my_bao2
as
type emp_type is record(
    gh emp.empno%type,
    xm emp.ename%type,
    gz emp.sal%type
);
procedure hello(p_name varchar2)
as
begin
    dbms_output.put_line('hello,'||p_name);
end;


function f_add(p1 number,p2 number) return number
as
    v1 number;
begin
     v1:=p1+p2;
     return v1;
end;
end;

图解Oracle包实例


5 调用

select my_bao2.f_add(1,2) from dual;

图解Oracle包实例


6 调用

call my_bao2.hello('oracle');

图解Oracle包实例


7 包中重载方法
重载的要点就是名称一样,而参数的类型或者个数不同。
定义代码:
create or replace package my_bao3
as
function f_add(p1 number,p2 number) return number;
function f_add(p1 varchar,p2 varchar) return number;
end;


包体:

create or replace
package body my_bao3
as

function f_add(p1 number,p2 number) return number
as
    v1 number;
begin
     v1:=p1+p2;
     return v1;
end;

ction f_add(p1 varchar,p2 varchar) return number
as
    v1 number;
begin
     v1:=p1+p2;
     return v1;
end;
end;

图解Oracle包实例


8 调用

select my_bao3.f_add(1,2) from dual;

图解Oracle包实例


9 调用

select my_bao3.f_add('6','2') from dual;

oracle会根据参数类型自动选择调用哪个函数;

图解Oracle包实例

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号