包:

包是PLSQL中多个单元的逻辑组合,他将过程组合在一个包内容,以供用户调用,使用后,不需要程序员频繁的修改程序,可以保持程序的逻辑完整性,对包中的过程重新定义或者编译,以便修改部分功能,从而更好的实现业务功能。

好处:

在程序设计时,程序员可以通过完成某种业务逻辑的包来简化编程。

包被加载到SGA,便不需要重新加载,减少调用的加载时间。

包可以增加安全性,通过创建私有过程或者函数来实现业务逻辑和数据隐藏。

包的创建:

PACKAGE package_name

IS

[变量或者类型说明]

[游标声明]

[主体对象声明(如函数过程等)]

END packeage_name

PACKAGE BODY package_name

IS

[变量或者游标声明]

[游标相关select语句声明]

[主体对象body声明]

BEGIN

可执行代码

EXCEPTION

[异常处理]

END package_name

调用方式

①  PACKAGE_NAME.element_name (包外)

②  直接调用  (包内)

如果有同名过程需要不同的参数加以区分。同java等语言相同,函数重载*

包的私有过程和函数 (按私有变量理解)

在包的声明中没有定义在包体中创建的函数或者过程时,要外部调用包体中的函数或者过程会报错,此时包体中的函数和过程称为私有的,只能在包体内部调用

当在包声明中定义函数或者过程,但是未在包体中定义函数或者过程则会报错。

实现了信息安全和丰富了包的业务逻辑,实现信息隐藏

过程:

CREATE OR REPLACE PRODUCE PRODUCE_NAME

IS

声明区

BEGIN

执行区

EXCEPTION

异常处理区

END;

过程中的IN 和 OUT

In是输入参数,out是输出参数

函数:

CREATE OR REPLACE FUNCTION function_name (f  float)

RETURN float

IS

BEGIN

return f*f

END function_name;

函数定义,函数名,参数(in out)也可以没有参数,但是函数必须要有返回值,需要在函数定义中明确指定返回的数据类型。

PLSQL-包函数存储过程的更多相关文章

  1. PL-SQL 存储函数和存储过程

     PL-SQL 存储函数和存储过程 ORACLE 提供能够把PL/SQL 程序存储在数据库中,并能够在不论什么地方来执行它.这样就叫存储过程或函数. 过程和函数统称为PL/SQL子程序.他们是被命 ...

  2. PL-SQL 包的创建和应用

     PL-SQL 包的创建和应用 ①简单介绍     包是一组相关过程.函数.变量.常量和游标等PL/SQL程序设计元素的组合,它具有面向对象程序设计语言的特点.是对这些PL/SQL 程序设计元素的 ...

  3. plsql 常用函数-转

    PLSQL常用函数 1)处理字符的函数 || 或 CONCAT---并置运算符. 格式∶CONCAT(STRING1, STRING2) 例:’ABC’|| ’DE’=’ABCDE’ CONCAT(‘ ...

  4. mysqldump导出--数据+结构+(函数+存储过程)

    #导出某个数据库--结构+数据shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt db_name |gzip -9 > /db_ ...

  5. Java -- JDBC 学习--调用函数&存储过程

    调用函数&存储过程 /** * 如何使用 JDBC 调用存储在数据库中的函数或存储过程 */ @Test public void testCallableStatment() { Connec ...

  6. JavaScript-闭包函数(理解)

    JavaScript-闭包函数(理解) var foo = function (a) { return function inner () { console.log(a) } } var faa = ...

  7. Go 语言官方包函数中文翻译

    Go官方包函数中文翻译 *** import "strings" func Join(a []string, sep string) string Join concatenate ...

  8. 抓包函数-pcap_next

     抓包函数        pcap_next_ex, pcap_next 抓包 #include <pcap/pcap.h> int pcap_next_ex(pcap_t *p, s ...

  9. ORACLE如何实现函数、包、存储过程的导入和导出

    建 议可以用常规的检查,检查一下:数据字典信息/exp 导出结构检查 1.检查 SELECT * FROM ALL_SOURCE t WHERE T.OWNER = '要查询用户' AND t.TYP ...

  10. 新建体(2):create or replace object创建存储包、存储过程、函数

    http://heisetoufa.iteye.com/blog/366957/ 创建一个package(包) 声明: create or replace package mpay_route is ...

随机推荐

  1. Spring(二十)之使用Log4j记录日志

    日志记录,也是常用的,比如异常信息记录或者其他相关信息记录,良好的日志记录有助于当系统出现某些不是特别大的问题时,可及时通过日志信息,捕捉到异常,从而确定是那段代码的问题,避免影响其他的代码. 关于m ...

  2. R语言学习笔记1——R语言中的基本对象

    R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发(也因此称为R),现在由“R开发核心 ...

  3. MongoDB的角色作用(2)

    数据压力大到机器支撑不了的时候能否做到自动扩展? 在系统早期,数据量还小的时候不会引起太大的问题,但是随着数据量持续增多,后续迟早会出现一台机器硬件瓶颈问题的.而MongoDB主打的就是海量数据架构, ...

  4. HDU 1045 Fire Net(DFS 与8皇后问题类似)

    Fire Net Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  5. 一招搞定css页面布局

    如何做出漂亮的页面: 1. 多写页面,多改. 2. 多写页面,多改. 3. 多写页面,多改. 大致的思想步骤: 写页面的时候先规划好大致的分块,无论是用定位或者浮动,首先要确定要应用的场景,使用完浮动 ...

  6. git日常基本用法

    git作为项目管理现在已经是越来越广泛应用,结合自己平时的一些基本操作加上git说明文档里面的一些补充,我总结了一下git的基本用法: mkdir project # 创建项目目录 cd projec ...

  7. 搭建Extjs框架(一)

    搭建Extjs框架 pc端 github https://github.com/Status400/Extjs-6.2.0-demo   欢迎start 准本工作:       官方下载Extjs  ...

  8. 嗨翻C语言笔记(一)

    对自己狠一点,逼自己努力,总有一天你会感谢今天的自己! C语言不支持现成的字符串, 只能用数组表示. & (and)运算, 即两个数的每个二进制位都进行比较, 对等位均为1时为1, 否则为0. ...

  9. mac Axure RP 8 授权码 以及汉化

    Koshy wTADPqxn3KChzJxLmUr5jTTitCgsfRkftQQ1yIG9HmK83MYSm7GPxLREGn+Ii6xY 汉化包 汉化包链接 密码: upri 汉化步骤 以Win7 ...

  10. 日期格式操作,在oracle和mysql中的实现

    oracle add_months(日期格式值 , 整数n)  当整数n=12时,代表一年,向后推迟一年,若n=-12代表回退一年 如 to_char(add_months(to_date('2018 ...