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中的全局变量时公共的,会导致冲突.以下是一 ...
随机推荐
- Caused by: Cannot locate the chosen ObjectFactory implementation: spring - [unknown location] 的解决方式
1.添加网上所说的struts2 plugin jar包 2. <!-- Struts2配置 --> <filter> <filter-name>struts2&l ...
- C#学习笔记(三):值类型、引用类型及参数传递
值类型和引用类型简介 C#中存在两种数据类型,分别是值类型与引用类型,下面我们来看看这两种类型的区别. 值类型主要包括: 简单类型(如int.float.char等,注意string不是值类型): 枚 ...
- flex 弹性合模型
网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中 ...
- ERP存储过程
[dbo].[st_MES_MonitorMachine] -------------------------------------------- USE [ChiefMESNew]GO /**** ...
- c++出错记录
错误1如下: vector<vector<int>> m_vc; error: '&' cannot appear in a constant-expression ...
- (转)HTML5实战与剖析之触摸事件(touchstart、touchmove和touchend)
HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容不错的事件,日后随着兼容情况提升以后再陆续添加分享.今天为大家介绍的事件主 ...
- POJ 2420 A Star not a Tree? 爬山算法
B - A Star not a Tree? Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/co ...
- C#操作Word (1)Word对象模型
Word对象模型 (.Net Perspective) 本文主要针对在Visual Studio中使用C# 开发关于Word的应用程序 来源:Understandingthe Word Object ...
- ORACLE 11G用于有效期
Oracle报错,ORA-28001: 口令已经失效(转自网络) 错误信息:ORA-28001: the password has expired解决方法 Oracle11G创建用户时缺省passwo ...
- java源码部署
环境:nginx+tomcat部署方式:源码部署源码目录 /chroot2/test/schedule 目录下面就是所有源码了tomcat 位置: /usr/local/tomcat/apache-t ...