ORACLE之PACKAGE

刚学pl/sql编程,写了两个package。pkg_temp_fn和pkg_temp_fn2。内容涉及pl/sql基本语法,游标,存储过程(in,out),函数(有返回值)。
- pkg_temp_fn内有一个function f_getdept(v_deptid number) return VARCHAR2和一个procedure p_getinfo(v_mapid NUMBER)
创建包规范
create or replace package pkg_temp_fn is function f_getdept(v_deptid number) return VARCHAR2; --reference pkg_temp_fn2 procedure p_getinfo(v_mapid NUMBER/*,v_pname VARCHAR2(20),v_deptno VARCHAR2(15)*/); -- procedure p_main_process; end pkg_temp_fn; --3/24/2016 --var map_id number; --exec pkg_temp_fn.p_getinfo(&map_id);调用方法
创建包体
create or replace package body pkg_temp_fn
is
function f_getdept(v_deptid number) return VARCHAR2
is
deptno );
begin
select y.dept_no into deptno from t_fn_dept y where y.dept_id=v_deptid;
return deptno;
end f_getdept;
procedure p_getinfo(v_mapid NUMBER)
is
cursor xing is select x.person_name,x.dept from t_fn_person x where x.map_id=v_mapid;
pname );
pdept number;
v_deptno );
begin
open xing;
loop
fetch xing into pname,pdept;
exit when xing%notfound;
v_deptno:=f_getdept(pdept);--call function
dbms_output.put_line(pname||'''s dept is :'||v_deptno);
end loop;
close xing;
end p_getinfo;
end pkg_temp_fn;
- kg_temp_fn2内有一个function f_getdept(v_deptid number) return VARCHAR2、一个procedure p_getinfo(v_mapid NUMBER,v_pname out VARCHAR2,v_deptno out VARCHAR2),一个procedure p_main_process(v_mapid NUMBER)。
创建包规范
create or replace package pkg_temp_fn2 is function f_getdept(v_deptid number) return VARCHAR2; procedure p_getinfo(v_mapid NUMBER,v_pname out VARCHAR2,v_deptno out VARCHAR2); procedure p_main_process(v_mapid NUMBER); end pkg_temp_fn2; --3/24/2016 --var map_id number; --exec pkg_temp_fn2.p_main_process(&map_id);调用方法
创建包体
create or replace package body pkg_temp_fn2
is
function f_getdept(v_deptid number) return VARCHAR2
is
deptno );
begin
select y.dept_no into deptno from t_fn_dept y where y.dept_id=v_deptid;
return deptno;
end f_getdept;
procedure p_getinfo(v_mapid in NUMBER,v_pname out VARCHAR2,v_deptno out VARCHAR2)
is
cursor xing is select x.person_name,x.dept from t_fn_person x where x.map_id=v_mapid;
pdept number;
begin
open xing;
loop
fetch xing into v_pname,pdept;
exit when xing%notfound;
v_deptno:=f_getdept(pdept);--
--dbms_output.put_line(pname||'''s dept is :'||v_deptno);
end loop;
close xing;
end p_getinfo;
procedure p_main_process(v_mapid NUMBER)
is
v_pname );
v_deptno );
begin
p_getinfo(v_mapid,v_pname,v_deptno);
dbms_output.put_line(v_pname||'''s dept is :'||v_deptno);
end p_main_process;
end pkg_temp_fn2;
ps:
定义变量或者参数的的时候,类型不要有括号,否则报错。
ORACLE之PACKAGE的更多相关文章
- Java调用Oracle存储Package
Oracle的包Package中可以有很多存储,可通过该包的总调入口在java中直接调用. //java调用oracle的package代码 public boolean cal() throws j ...
- 公司需求知识自学-Oracle的Package的作用及用法
Oracle的Package的作用 简化应用设计.提高应用性能.实现信息隐藏.子程序重载. 1.Oracle的Package除 了把存储过程放到一堆儿以外还有没有其他的作用(好处)? 你不觉得把存储过 ...
- Oracle中 Package与Package body的介绍
1.Oracle Package的作用: 可以简化应用设计.提高应用性能.实现信息隐藏.子程序重载 2.ORACLE中的function .package.package bodies.pro ...
- oracle‘s package,function,proceture编译时无响应(解决)
在对Procedure.Function或Package进行Debug时,如果长时间没有操作,公司的防火墙会杀掉会话连接.这个时候数据库不会主动的释放会话的资源,如果再次对Procedure.Func ...
- 如何查看oracle 的package源码
select text from dba_source t where t.TYPE = 'PACKAGE BODY' and name ='EMR_RECORD_INPUT' order by li ...
- Oracle包Package调用Package
Package左侧文件: create or replace package CALL_DETAILS is strdatarange varchar2(1) := '1'; numrow_num n ...
- oracle包package的使用
创建包 包头: CREATE OR REPLACE PACKAGE test_pkg IS PROCEDURE update_sal(e_name VARCHAR2,newsal NUMBER); ...
- oracle 的PACKAGE恢复过程
SELECT obj# FROM obj$ AS OF TIMESTAMP TO_TIMESTAMP('2016-06-30', 'YYYY-MM-DD') WHERE NAME = 'PFWZ_AP ...
- Oracle Package的全局变量与Session
Oracle Package的全局变量与Session2012-07-26 aaie_ 阅 3595 转 10简单讲,同一个session下pageckage中的全局变量时公共的,会导致冲突.以下是一 ...
随机推荐
- oracle 全文检索技术
1.查看用户: select * from dba_users WHERE username='CTXSYS';select * from dba_users WHERE username='CTXS ...
- [置顶] Jquery中DOM操作(详细)
Jquery中的DOM操作 为了能全面的讲解DOM操作,首先需要构建一个网页. HTML代码: <%@ page language="java" import="j ...
- 为什么要坚持用ASP.NET MVC!(②)
尽管ASP.NET MVC架构和Web Form架构区别很大,但是还是有很多共同之处.毕竟它们都是以ASP.NET API与.NET框架为基础构建的.比较一下ASP.NET MVC和Web Form框 ...
- windbg命令分类与概述
WinDBG的大多数功能是以命令方式工作的, 本系列将介绍WinDBG的三类命令, 标准命令, 元命令和扩展命令. =============== 标准命令 =============== 标准命令用 ...
- Winform开发框架之权限管理系统
本文章转载:http://www.cnblogs.com/wuhuacong/archive/2011/05/08/2040620.html 至此,权限管理模块介绍已经完毕,下面给出一个调用例子Dem ...
- 【转】VIM 快速注释
我是用自己自定义的,跟你分享一下吧.希望能帮到你. 在.vimrc中加入下面的语句:vmap <C-S-P> dO#endif<Esc>PO#if 0<Esc> ...
- 在Web上调用Ocx控件
原文:http://blog.csdn.net/goodadult2012/article/details/6343369 在HTML页面中使用ActiveX控件包含三个基本操作:将控件放入HTML中 ...
- SAP ABAP程序下载器(增强版)
在实际的项目中运用过几次 Mass download 这个程序,发现下载ABAP代码还真是利器,目前最新的版本是1.4.4,已经n年没有更新过了.使用过程中,发现其导出的HTML格式的代码有问题,包括 ...
- Metadata Lock原理7
http://blog.itpub.net/22664653/viewspace-1791744/ 一 简介 通过前面两篇文章的介绍,相信读到这里的各位对MDL 锁已经有了比较深入的了解了,本文将结合 ...
- 关于NuDaqPci 数据采集
最近在做公司一个fct的测试及调试软件 设计到的比较多的通信问题 1,Gpib通信(调用ADL-GPIB) 2,串口通信 3,Usb通信(调用USBXpress) 4,Pci通信(调用PCIS-DAS ...