创建包头

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包的使用的更多相关文章

  1. 关于Visual Studio 未能加载各种Package包的解决方案

    问题: 打开Visual Studio 的时候,总提示未能加载相应的Package包,有时候还无法打开项目,各种提示 解决方案: 进入用户目录 C:\Users\用户名\AppData\Local\M ...

  2. 未能正确加载“visual C++ package”包

    早上打开360要卸载软件,跳出说系统修复,习惯性的点击修复,结果修复后发现打开vs2012提示“未能正确加载“visual C++ package”包……..”, 重启也一样,google了下,是因为 ...

  3. eclipse 包 取消代码第一行package包名 自动补全时取消自动引入包名 修改名字 取消引用 自动导入publilc static void main(String[] args) {}

    --项目 --包 包是为了管理类文件,同个包下不允许同名类文件,但不同包就可以,把类放在包里是规范 (https://zhidao.baidu.com/question/239471930532952 ...

  4. python开发者框架套件总结: package 包 frameworks

    python开发者的package 包 框架套件总结: frameworks     开发环境: anaconda pycharm django awesome-django : 介绍 django ...

  5. 如何同步删除svn管理的package包目录

    转:https://blog.csdn.net/shiwodecuo/article/details/51754598 eclipse在实际的开发中,当我们的项目由svn进行管理时,若想删除选中的整个 ...

  6. JavaSE入门学习17:Java面向对象之package(包)

           一Java包(package)        为了更好地组织类,Java提供了包机制,用于差别类名的命名空间.        包的作用:        A把功能类似或相关的类或接口组织在 ...

  7. 批量修改Java类文件中引入的package包路径

    http://libeey.blogbus.com/logs/101848958.html当复制其他工程中的包到新工程的目录中时,由于包路径不同,出现红叉,下面的类要一个一个修改包路径,类文件太多的话 ...

  8. error: Error: No resource found for attribute ‘layout_scrollFlags’ in package‘包名’

    遇到error: Error: No resource found for attribute 'layout_scrollFlags' in package'包名' 这个问题时候刚開始自己也是感觉到 ...

  9. go package包的使用

    一.标准库 引入 在我们之前所写的所以代码中,我们基本上可以看到fmt这个导入的包,但是我们却不知道如何去写这种包. 如果我们可以自己去写,那么我们就可以将一个功能的集合统一的放入包中,便于以后使用, ...

随机推荐

  1. 转载nginx+uwsgi+django

    Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...

  2. java List分批处理

    java List分批处理,例如对List中的数据进行批量插入. 方法一: /** * ClassName:Test List分批处理 * @author Joe * @version * @sinc ...

  3. javaweb项目中表单生成的验证码以及校验

    首先先来看一下项目的结构吧,有两个servlet,一个是进行验证码的生成以及存储的,一个是进行校验的,还有一个jsp页面是用来实现form表单的书写和展示: 我们只需要看这三个就行了,其他的自动忽略: ...

  4. pgAdmin III 单表数据的导出导入

    看了好几种方法也试验了几次都没成功,终于找到一种比较简单的试验成功的方法,记录下来留作备份. 将表testTable_1里的数据导入到表testTable_2里,如图: 两表的结构相同.表testTa ...

  5. PHP 图片 平均分割

    $filename = 'D://WWW/1.jpg'; $p = 5; // Get new sizes list($width, $height) = getimagesize($filename ...

  6. 使用 github Pages 服务建立个人独立博客全过程

    你是否有这样子的需求,只是想简单的写写文章,记录下自己的学习心得.成长经历等,都是些文字内容,不需要配置使用数据库.不想购买服务器自己搭建站点,只是想安安静静的用比较舒服的方式来写篇文章. 静态博客就 ...

  7. 【大数据系列】Hadoop DataNode读写流程

    DataNode的写操作流程 DataNode的写操作流程可以分为两部分,第一部分是写操作之前的准备工作,包括与NameNode的通信等:第二部分是真正的写操作. 一.准备工作 1.首先,HDFS c ...

  8. 跟我一起写Makefile:使用函数

    跟我一起写Makefile:使用函数 两个排版不一样 书籍下载 书籍下载

  9. CentOS6.4挂载读写NTFS分区 (重要)

    如今很多的linux衍生版本已经支持自动连接NTFS分区了,之前在一次安装的过程中,遇到 linux不能识别NTFS分区,解决方法如下文: ============================== ...

  10. jenkins部署war包到远程服务器的tomcat

    一.目的 jenkins上将war包,部署到远程服务器的tomcat上. 这边tomcat在windows 主机A上,版本apache-tomcat-8.5.23. jenkins在主机B上,cent ...