PLSQL Package包的使用
创建包头
create or replace package pak_kingsql is
procedure pro_kingsql(p_one in varchar2,p_two out varchar2,p_three in out varchar2);
function f_nianxin(v_sal in emp.sal%type)return number;
end;
/
创建包体
create or replace package body pak_kingsql is
procedure pro_kingsql(p_one in varchar2,p_two out varchar2,p_three in out varchar2)
is
begin
dbms_output.put_line('parameter: '||'p_one: '||p_one||',p_two: '||p_two||',p_three:'||p_three);
end pro_kingsql;
function f_nianxin
(v_sal in emp.sal%type)
return number
is
v_sal2 emp.sal%type:=0;
begin
v_sal2:=v_sal*12;
return v_sal2;
end f_nianxin;
end pak_kingsql;
/
调用包的过程
SCOTT@VDEDU > declare
2 TWO varchar2(20):='hehe';
3 THREE varchar2(20):='haha';
4 begin
5 pak_kingsql.pro_kingsql('kingsql',TWO,THREE);
6 end;
7 /
PL/SQL procedure successfully completed.
SCOTT@VDEDU > set serveroutput on
SCOTT@VDEDU > /
parameter: p_one: kingsql,p_two: ,p_three:haha
PL/SQL procedure successfully completed.
调用包的函数
select pak_kingsql.f_nianxin(sal) from emp;
PAK_KINGSQL.F_NIANXIN(SAL)
--------------------------
9600
19200
15000
35700
15000
34200
29400
36000
60000
18000
13200
PAK_KINGSQL.F_NIANXIN(SAL)
--------------------------
11400
36000
15600
删除包
DROP PACKAGE package_name;
DROP PACKAGE BODY package_name;
创建一个包 把之前的工资等级过程和函数放进去
包头
create or replace package pak_sal is
procedure pro_emp_02(v_eno emp.empno%type);
function f_grade(v_eno in emp.empno%type)
return varchar2;
end;
/
包体
create or replace package body pak_sal is
procedure pro_emp_02(v_eno emp.empno%type)
is
v_ename emp.ename%type;
v_sal emp.sal%type;
begin
select ename,sal into v_ename,v_sal from emp where empno=v_eno;
case
when v_sal between 0 and 2000 then
dbms_output.put_line(v_ename||'''s salary is'||v_sal||'little case');
when v_sal between 2001 and 5000 then
dbms_output.put_line(v_ename||'''s salary is'||v_sal||'medium case');
when v_sal>5000 then
dbms_output.put_line(v_ename||'''s salary is'||v_sal||'funny');
else
dbms_output.put_line(v_ename||'''s salary is'||v_sal||'not funny');
end case;
end pro_emp_02;
function f_grade(v_eno in emp.empno%type)
return varchar2
is
v_sal emp.sal%type;
v_result varchar2(50);
begin
select sal into v_sal from emp where empno=v_eno;
case
when v_sal>1 and v_sal<2000 then
v_result:='little case';
when v_sal>2000 and v_sal<5000 then
v_result:='medium case';
when v_sal>5000 then
v_result:='big case';
else
v_result:='no case';
end case;
return v_result;
end f_grade;
end pak_sal;
/
PLSQL Package包的使用的更多相关文章
- 关于Visual Studio 未能加载各种Package包的解决方案
问题: 打开Visual Studio 的时候,总提示未能加载相应的Package包,有时候还无法打开项目,各种提示 解决方案: 进入用户目录 C:\Users\用户名\AppData\Local\M ...
- 未能正确加载“visual C++ package”包
早上打开360要卸载软件,跳出说系统修复,习惯性的点击修复,结果修复后发现打开vs2012提示“未能正确加载“visual C++ package”包……..”, 重启也一样,google了下,是因为 ...
- eclipse 包 取消代码第一行package包名 自动补全时取消自动引入包名 修改名字 取消引用 自动导入publilc static void main(String[] args) {}
--项目 --包 包是为了管理类文件,同个包下不允许同名类文件,但不同包就可以,把类放在包里是规范 (https://zhidao.baidu.com/question/239471930532952 ...
- python开发者框架套件总结: package 包 frameworks
python开发者的package 包 框架套件总结: frameworks 开发环境: anaconda pycharm django awesome-django : 介绍 django ...
- 如何同步删除svn管理的package包目录
转:https://blog.csdn.net/shiwodecuo/article/details/51754598 eclipse在实际的开发中,当我们的项目由svn进行管理时,若想删除选中的整个 ...
- JavaSE入门学习17:Java面向对象之package(包)
一Java包(package) 为了更好地组织类,Java提供了包机制,用于差别类名的命名空间. 包的作用: A把功能类似或相关的类或接口组织在 ...
- 批量修改Java类文件中引入的package包路径
http://libeey.blogbus.com/logs/101848958.html当复制其他工程中的包到新工程的目录中时,由于包路径不同,出现红叉,下面的类要一个一个修改包路径,类文件太多的话 ...
- error: Error: No resource found for attribute ‘layout_scrollFlags’ in package‘包名’
遇到error: Error: No resource found for attribute 'layout_scrollFlags' in package'包名' 这个问题时候刚開始自己也是感觉到 ...
- go package包的使用
一.标准库 引入 在我们之前所写的所以代码中,我们基本上可以看到fmt这个导入的包,但是我们却不知道如何去写这种包. 如果我们可以自己去写,那么我们就可以将一个功能的集合统一的放入包中,便于以后使用, ...
随机推荐
- 【代码审计】LaySNS_v2.2.0 前台XSS跨站脚本漏洞
0x00 环境准备 LaySNS官网:http://www.laysns.com/ 网站源码版本:LaySNS_v2.2.0 程序源码下载:https://pan.lanzou.com/i0l38 ...
- 【译】Apache Flink Kafka consumer
Flink提供了Kafka connector用于消费/生产Apache Kafka topic的数据.Flink的Kafka consumer集成了checkpoint机制以提供精确一次的处理语义. ...
- log4net日志的简单配置
说起来log4net,我一直都知道这个的存在,但实际在项目中还真是没有去自己写过的那,这一次我在项目完成后并没有着急下一个项目的开始,于是突然想起来是否添加一个日志的编写,于是开始了log4net的总 ...
- 实现iOS中的链式编程
谈到链式编程,那Masonry几乎就是最经典的代表.如: make.top.equalTo(self.view).offset() 像这样top.equalTo(self.view).offset(6 ...
- PON系统基础知识简介
一 PON基础知识 1.1 PON技术概念 PON(Passive Optical Network)即无源光网络,一种基于点到多点(P2MP)拓朴的技术.“无源”指ODN(光分配网络)不含有任何电子 ...
- Win7/Win8/IIS7/IIS8配置ASP/ACCESS
1.在IIS信息服务管理器配置好站点后,配置ASP属性: a.IIS启用ASP 1.打开控制面板>>程序和功能>>“打开或关闭windows功能”,见下图 2.稍等片刻,出现一 ...
- KMP算法的实现(Java语言描述)
标签:it KMP算法是模式匹配专用算法. 它是在已知模式串的next或nextval数组的基础上执行的.如果不知道它们二者之一,就没法使用KMP算法,因此我们需要计算它们. KMP算法由两部分组成: ...
- RunAsDate v1.36 突破软件试用30天的工具
http://www.nirsoft.net/utils/run_as_date.html RunAsDate v1.36 - Run a program with the specified dat ...
- POP3协议分析
http://m.blog.csdn.net/bripengandre/article/details/2192111 POP3协议分析 第1章. POP3概述 POP3全称为Post Off ...
- win10下网狐荣耀手机端android app编译
基于荣耀版(2017.5.21)12 款游戏..7z这款游戏,网上有下载的 1.解压后进入 cd shoujiduan 2.将client/base复制到client/ciphercode/下,也就是 ...