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这个导入的包,但是我们却不知道如何去写这种包. 如果我们可以自己去写,那么我们就可以将一个功能的集合统一的放入包中,便于以后使用, ...
随机推荐
- 转载nginx+uwsgi+django
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...
- java List分批处理
java List分批处理,例如对List中的数据进行批量插入. 方法一: /** * ClassName:Test List分批处理 * @author Joe * @version * @sinc ...
- javaweb项目中表单生成的验证码以及校验
首先先来看一下项目的结构吧,有两个servlet,一个是进行验证码的生成以及存储的,一个是进行校验的,还有一个jsp页面是用来实现form表单的书写和展示: 我们只需要看这三个就行了,其他的自动忽略: ...
- pgAdmin III 单表数据的导出导入
看了好几种方法也试验了几次都没成功,终于找到一种比较简单的试验成功的方法,记录下来留作备份. 将表testTable_1里的数据导入到表testTable_2里,如图: 两表的结构相同.表testTa ...
- PHP 图片 平均分割
$filename = 'D://WWW/1.jpg'; $p = 5; // Get new sizes list($width, $height) = getimagesize($filename ...
- 使用 github Pages 服务建立个人独立博客全过程
你是否有这样子的需求,只是想简单的写写文章,记录下自己的学习心得.成长经历等,都是些文字内容,不需要配置使用数据库.不想购买服务器自己搭建站点,只是想安安静静的用比较舒服的方式来写篇文章. 静态博客就 ...
- 【大数据系列】Hadoop DataNode读写流程
DataNode的写操作流程 DataNode的写操作流程可以分为两部分,第一部分是写操作之前的准备工作,包括与NameNode的通信等:第二部分是真正的写操作. 一.准备工作 1.首先,HDFS c ...
- 跟我一起写Makefile:使用函数
跟我一起写Makefile:使用函数 两个排版不一样 书籍下载 书籍下载
- CentOS6.4挂载读写NTFS分区 (重要)
如今很多的linux衍生版本已经支持自动连接NTFS分区了,之前在一次安装的过程中,遇到 linux不能识别NTFS分区,解决方法如下文: ============================== ...
- jenkins部署war包到远程服务器的tomcat
一.目的 jenkins上将war包,部署到远程服务器的tomcat上. 这边tomcat在windows 主机A上,版本apache-tomcat-8.5.23. jenkins在主机B上,cent ...