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这个导入的包,但是我们却不知道如何去写这种包. 如果我们可以自己去写,那么我们就可以将一个功能的集合统一的放入包中,便于以后使用, ...
随机推荐
- 【RF库XML测试】Get Elements
Name:Get ElementsSource:XML <test library>Arguments:[ source | xpath ]Returns a list of elemen ...
- SpringBoot(九)-- SpringBoot JDBC
1.属性配置文件(application.properties) # type 可以修改连接池类型,默认采用Tomcat的连接池 # spring.datasource.type=com.alibab ...
- Ansible的Playbook的编写
在Ansible中,将各个模块组合起来成为一个YAML格式的配置文件,这个配置文件叫做Playbook, Playbook和模块的关系类似于shell脚本和Linux命令之间的关系. Playbook ...
- JSP基本用法(一)运行机制和语法
一.概述 JSP是一种建立在Servlet规范功能上的动态网页技术,在网页文件中嵌入Java代码和JSP标记用于产生动态内容. 本文简单介绍JSP的运行机制和JSP的语法. 二.JSP的运行机制 JS ...
- 使用C#把发表的时间改为几个月,几天前,几小时前,几分钟前,或几秒前
//使用C#把发表的时间改为几个月,几天前,几小时前,几分钟前,或几秒前 //2008年03月15日 星期六 02:35 public string DateStringFromNow(DateTim ...
- 嵌入式系统C编程之堆栈回溯(二)
前言 本文作为<嵌入式系统C编程之堆栈回溯>的补充版.文中涉及的代码运行环境如下: 一 异常信号 信号就是软件中断,用于向正在运行的程序(进程)发送有关异步事件发生的信息.Linux应用 ...
- 原生js--userData
userData是IE5及其以上浏览器支持的一种客户端存储方式,它通过在document元素后面附加一个专属的元素来实现. 对userData的封装: /** * IE userdata封装 */fu ...
- JSON语法介绍
官网:https://www.json.org/ JSON (JavaScript Object Notation) is a lightweight data-interchange f ...
- rman 中遇到 ORA-01861
RMAN> run{ 2> sql 'alter session set nls_date_format="yyyy-mm-dd hh24:mi:ss"'; 3> ...
- CSS属性绘制图形(一)
div部分: <div class="react-logo"> <div class="reactive"></div> & ...