创建包头

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. 第十九篇:不为客户连接创建子进程的并发回射服务器(select实现)

    前言 在此前,我已经介绍了一种并发回射服务器实现.它通过调用fork函数为每个客户请求创建一个子进程.同时,我还为此服务器添加了自动消除僵尸子进程的机制.现在请想想,在客户量非常大的情况下,这种为每个 ...

  2. codeforces水题100道 第十七题 Codeforces Beta Round #25 (Div. 2 Only) A. IQ test (brute force)

    题目链接:http://www.codeforces.com/problemset/problem/25/A题意:在n个书中找到唯一一个奇偶性和其他n-1个数不同的数.C++代码: #include ...

  3. linux源码编译安装php出现 cannot find -lltdl

    原因: 在编辑php时添加的“–with-mcrypt”选项造成. 解决方法: 1.如果不需要mcrypt,那么编辑php时去掉该选项,然后再make.make install. 2.如果需要mcry ...

  4. Android自定义字体

    1.在assets中创建文件夹fonts,放入字体文件.ttf 2.使用实例: TextView tv= (TextView)findViewById(R.id.tv); Typeface tf =  ...

  5. thinkphp3.2 实现点击图片或文字进入内容页

    首先要先把页面渲染出来,http://www.mmkb.com/weixiang/index/index.html <div class="main3 mt"> < ...

  6. <转>特征工程(一)

    转自http://blog.csdn.net/han_xiaoyang/article/details/50481967 1. 引言 再过一个月就是春节,相信有很多码农就要准备欢天喜地地回家过(xia ...

  7. 【大数据系列】hadoop单机模式安装

    一.添加用户和用户组 adduser hadoop 将hadoop用户添加进sudo用户组 sudo usermod -G sudo hadoop 或者 visudo 二.安装jdk 具体操作参考:c ...

  8. 二叉树的实现(Java语言描述)

    实现二叉树   并先序遍历之. package 二叉树的实现; public class BinaryTree<T> { class Node { int value; // 该节点存储的 ...

  9. UI设计中的高保真和低保真

    低保真一般用Axure Rp产出,高保真分两种,带交互的或不带交互的.不带交互的高保真直接根据低保真用PS产出即可.带交互的,需要 PS产出后,再切图,再使用Axure RP与低保真结合产出高保真. ...

  10. c实现的list

    // clist.cpp : 定义控制台应用程序的入口点.// #include "stdafx.h"#include <stdio.h>#include <ma ...