包用于逻辑组合相关的过程和函数,它由包规范和包体两部分组成,包规范用于定义公用的常量变量,过程和函数,在SQL*PLUS中建立包规范可以使用CREATE PACKAGE命令。实例如下:
CREATE OR REPLACE PACKAGE emp_pkg ISPROCEDURE update_sal(name VARCHAR2,newsal NUMBER);FUNCTION annual_incom(name VARCHAR2) RETURN NUMBER;END;包头值包含了过程和函数的说明,而没有过程和函数的实现代码。包体用于实现包规范中的过程和函数,在SQL*PLUS中建立包体可以使用CREATE PACKAGE BODY命令。实例如下:
CREATE OR REPLACE PACKAGE BODY EMP_PKG IS
PROCEDURE update_sal(name VARCHAR2,newsal NUMBER)ISBEGIN UPDATE EMP set sal=newsalwhere lower(ename)=lower(name);end;
FUNCTION annual_incom(name VARCHAR2) return numberISannual_salary NUMBER(7,2);beginselect sal*12 + nvl(comm,0) INTO annual_salaryfrom emp where lower(ename)=lower(name);RETURN annual_salary;end;end;当调用包的过程和函数时,在过程和函数名之前必须要带有包名作为前缀(包名.子程序名),而如果要访问其他方案的包,还必须要加方案名作为前缀(方案名.包名.子程序名).SQL> set serveroutput on
SQL> exec emp_pkg.update_sal('scott',1500);PL/SQL procedure successfully completed.SQL> select emp_pkg.annual_incom('scott') from dual;EMP_PKG.ANNUAL_INCOM('SCOTT')
-----------------------------18000

转载于:https://www.cnblogs.com/zhaoyangjian724/p/3798013.html

PL/SQL 包头和包体相关推荐

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

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

  2. pl/sql 中的 包

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

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

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

  4. PL/SQL 11g R2 —— 包

    set serveroutput on --包由包规范和包体两部分组成 --包规范里面定义的对象是全局的 --包体里面定义的对象是局部的 --定义包规范 create or replace packa ...

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

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

  6. java socket 包头包体_自定义协议封装包头、包体

    1 usingSystem;2 usingSystem.Collections.Generic;3 usingSystem.IO;4 usingSystem.Text;5 6 //消息解析器 7 pu ...

  7. oracle用scott编写包头包体,最新《Oracle数据库应用》-练习题2资料

    精品文档 1. 索引的主要目标是提高访问的速度.(Y) 2. 包头没有包体是可以独立存在的.(Y) 3. OUT不是PL/SQL过程和函数的参数模式.(N) 4. 存储过程与触发器的主要区别就是,存储 ...

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

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

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

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

  10. 关于PL/SQL我写了一份从0到1的入门教程

    PL/SQL 什么是PL/SQL ​ 许多时候我们会利用结构化查询语言(SQL)来访问和操作关系型数据库.这种语言的特点就是非过程化.也就是说使用的时候不用指明执行的具体方法和途径,即不用关注任何的实 ...

最新文章

  1. mysql a-z排序_mysql实现首字母从A-Z排序
  2. php css下划线,如何自定义下划线的样式
  3. CAD绘图软件中如何查询图纸的版本是多少
  4. 性能测试场景设计之用户模式设置
  5. python冒号错误-python冒号错误语法无效
  6. [SDOI2008]仪仗队
  7. iphone最新款手机_苹果罕见“跌停”!遭遇6年来最惨淡一夜,2019年全球股市第一颗雷引爆...
  8. LeetCode 881. 救生艇(贪心,双指针)
  9. 消息称ARM CEO已辞职 与660亿美元卖身NVIDIA失败无关
  10. 编辑器未包含main类型_Shopify模版编辑器问题排查及解决办法汇总
  11. Qt总结之一:遍历文件夹和文件目录,并过滤和获取文件信息、后缀名、前缀名(一)
  12. html5 app 原理,html5打包成app应用的原理是什么?
  13. [转] 文件内容查看 cat,less,more,tail,head,sed
  14. 开启 TLS 1.3 加密协议,极速 HTTPS 体验
  15. html2canvas给图片添加水印,canvas 为图片添加水印
  16. 利用自带QuickTime Player录制mac内部声音
  17. 苹果开发者中心添加UDID设备教程(及获取苹果手机的UDUD)
  18. linux历史数据导出命令,Linux Bash history从入门到进阶
  19. 语c语言描写,语c动作描写
  20. 萨提亚领衔主题演讲,带领高管和MVP合影,预告Julia女神的演讲中将有我的.NET Core实践

热门文章

  1. TServerSocket阻塞模式下Request-Response编程框架
  2. 基于Web的SQL Server管理工具(SQL Server Web Tools )
  3. 动态规划相关知识点总结
  4. 【硬 盘】故障分析与诊断
  5. “渠道之王”2.0   百丽携手乐淘的背后
  6. Cmakelists 与gcc 调用so库文件,几个名词解释
  7. 09月28日 pytorch与resnet(四)三种主要的转移学习方案,微调ConvNet,ConvNet 作为固定特征提取器
  8. 凸优化第四章凸优化问题 4.5 几何规划
  9. 凸优化第四章凸优化问题 4.1 优化问题
  10. 浅谈TCP/IP协议中TCP与UDP的区别