• PLSQL-包函数存储过程


    包:

    包是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)也可以没有参数,但是函数必须要有返回值,需要在函数定义中明确指定返回的数据类型。

  • 相关阅读:
    JQuery实现滚动广告
    写链表时报HEAP CORRUPTION DETECTED: before Normal block
    ubuntu 运行sh提示unexpected operator
    解决Visual C++ 6 绿色版 Gallery 目录为空的问题
    写堆栈的时候报的奇怪的错。
    ubuntu开启SSH服务
    ubuntu修改runlevel
    Hello.Android.3rd.Edition——读书笔记
    java程序员应该掌握的10技能
    格式化数字的方法
  • 原文地址:https://www.cnblogs.com/sun-chao/p/6823643.html
Copyright © 2020-2023  润新知