set serveroutput on
--包由包规范和包体两部分组成
--包规范里面定义的对象是全局的
--包体里面定义的对象是局部的
--定义包规范
create or replace package emp_package is  --使用了重载,两个过程名相同,参数不同 procedure get_sal(v_empno in number);   --全局过程 procedure get_sal(v_ename in varchar2); --全局过程
end emp_package;
/--定义包体
create or replace package body emp_packageis function count_sal(v_empno in number) --局部函数 return number is v_sal emp.sal%type; begin select emp.sal into v_sal from emp where emp.empno=v_empno; return v_sal; end; procedure get_sal(v_empno in number) --全局过程 is v_sal emp.sal%type; begin v_sal:=count_sal(v_empno); --调用局部函数 dbms_output.put_line('工资='||v_sal); end; procedure get_sal(v_ename in varchar2) --全局过程 is v_sal emp.sal%type; begin select emp.sal into v_sal from emp where emp.ename=v_ename; dbms_output.put_line('工资='||v_sal); end;
end emp_package;
/
--调用包
exec emp_package.get_sal(7788);
exec emp_package.get_sal('KING');
--当使用包全局函数的时候,可以在sql中调用
--那么全局函数有以下限制
--包的纯度级别:
--wnds 禁止执行dml操作
--wnps 不能给包变量赋值
--rnds 禁止执行dql操作
--rnps 不能将包变量值赋给其他变量
create or replace package emp_package
is function get_sal return number; pragma restrict_references(get_sal,wnds);
end;
/

PL/SQL 11g R2 —— 包相关推荐

  1. 使用wrap和unwrap加密解密Oracle的PL/SQL对象(包,存储过程,函数等)代码

    使用wrap和unwrap加密解密Oracle的PL/SQL对象(包,存储过程,函数等)代码 Oracle数据库系统自带的PL/SQL对象(包,存储过程,函数等)的代码绝大部分都是使用了wrap程序加 ...

  2. 二十三、oracle pl/sql分类三 包

    包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成. 1).我们可以使用create package命令来创建包,如: i.创建一个包sp_package ii.声明该包有一个过程update_ ...

  3. pl/sql 中的 包

    包: PL/SQL中将相关的对象存储到一起的一种机构形式     相关对象:变量,游标,异常,存储过程,函数      组成:包头(包规范):包含相关信息的声明,不含有任何子程序和代码         ...

  4. Oracle PL/SQL编程之包(packages)

    1.简介 包用于在逻辑上组合过程和函数,它由包规范和包体组成. 我们可以使用create package来创建包,代码如下: ok,包创建完成,通过包的代码发现包的功能就是申明包中包含的过程和方法,红 ...

  5. pl/sql 11g 12705_如何用PLSQL导出数据库存表结构信息

    如何用PLSQL导出表结构,不用登陆数据库存,直接用plsql工具怎么导出指定表的表结构呢?下面我就介绍下如何导出. 1:进行plsql后选怎Tools -->> Exports User ...

  6. PL/SQL程序设计 第七章 包的创建和应用

    §7.1  引言 包是一组相关过程.函数.变量.常量和游标等PL/SQL程序设计元素的组合,它具有面向对象程序设计语言的特点,是对这些PL/SQL 程序设计元素的封装.包类似于C++和JAVA语言中的 ...

  7. [强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)...

    [强烈推荐]ORACLE PL/SQL编程详解之七: 程序包的创建与应用(聪明在于学习,天才在于积累!) --通过知识共享树立个人品牌.   继上七篇:            [推荐]ORACLE P ...

  8. 每周一书《Oracle 12 c PL(SQL)程序设计终极指南》

    本周为大家送出的书是<Oracle 12 c PL(SQL)程序设计终极指南>,此书由机械工业出版社出版, 孙风栋,王澜,郭晓惠 著. 内容简介: <Oracle 12c PL/SQ ...

  9. Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据

    Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据 Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据 7.1 程序数据的命名 PL/SQL要求在给数据结构命名的时候应 ...

最新文章

  1. 北航学长的《数据竞赛入门讲义》分享:我是靠这些拿到冠军的
  2. java 俄语 工作_工作俄语怎么说
  3. 流程再造:信息化建设的最佳拍档
  4. mysql有子查询么_sql-带有子查询的mysql更新查询
  5. 华为推出业界首个分布式云原生产品:华为云UCS,持续创新,深耕数字化
  6. mavros 使用记录
  7. Hands-on Lab (15) - 使用Prometheus Operator监控应用
  8. pytorch卷积神经网络_知识干货-动手学深度学习(pytorch)-06 卷积神经网络基础
  9. wordpress无法建立目录 是否上级目录没有写权限?解决办法
  10. 关闭eslink:报错:Unexpected tab character no-tabs
  11. 内连接、外连接和全连接的区别
  12. python读取scv文件显示:OSError: Initializing from file failed
  13. 总结:OSI七层协议
  14. TP-link WR703N, OpenWrt, Mentohust
  15. 【转】常用邮箱的 IMAP/POP3/SMTP 设置
  16. 智能相机与工业相机_使用智能手机相机后如何移动到专用相机
  17. 计算机输入输出接口形式,输入输出接口-微计算机原理-电子发烧友网站
  18. 简单图文解释冯诺依曼体系结构(通俗易懂版)
  19. 【Python】如何使用 Python 的 pprint库格式化和输出列表和字典
  20. Matlab画柱状、饼状填充图(亲测可用)

热门文章

  1. 三十而立,从零开始学ios开发(十二):Table Views(上)
  2. Android开发 语音识别技术之科大讯飞语音识别(二) — 语音合成
  3. 华为神秘进军车联网   抱团传统车企后能否顺利占领C位?
  4. 关于IE图标的删除。劫持
  5. 如果父母依旧辛苦,那我们的成长又有什么意义?
  6. Methods To Speed Up Magento - A Guide To Making Magento Faster
  7. mongodb一次性更新多条数据updateMany
  8. 2021年12月券商App行情刷新及交易体验评测报告
  9. kindel读书笔记——第二个月2017.02.22-03.21
  10. 去国外卖友链赚差价?