Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 990|回复: 0

oracle中PL/SQL应用程序-包package的使用

  [复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2011-12-30 18:34:13 | 显示全部楼层 |阅读模式
    1,包是被组合在一起的相关对象的集合。包是用来封装过程,函数用的。可以有多个过程,函数
    2,包由两个部分组成:包头Specification和包体Body。
    3,包头声明描述变量、常量、游标、和子程序;
    4,包体完全定义子程序和游标。
    5,当包中任何函数或过程被调用,包就被加载入内存中。
    6,包中的任何子程序访问速度将大大加快。

    实例rem **********************************
    rem **package包
    rem **********************************
    --包头部分
    create or replace package hand_train_pkg is
    function hand_function(p_param1 varchar2,
                           p_param2 varchar2)
                           return varchar2;
                           
    procedure hand_procedure(p_param1 varchar2,
                            p_param2 in out varchar2);                       
    end hand_train_pkg;         
    --body部分
    create or replace package body
    hand_train_pkg is
    g_public_flag varchar2(1) := 'Y';
    function hand_function(p_param1 varchar2,
                           p_param2 varchar2)
                           return varchar2 is
    begin
       if g_public_flag = 'Y' then
        return p_param1 || ':'  || p_param2;
       else
        return null;
       end if;
    end;
    procedure hand_procedure(p_param1 varchar2,
                             p_param2 in out varchar2) is
    begin
      if g_public_flag = 'Y' then
        p_param2 := p_param1 || ':' || p_param2;
      else
        p_param2 := p_param2;
      end if;
    end;
    end hand_train_pkg;  

    --调用包中的函数和过程
    declare
      v_param1 varchar2(30);
      v_param2 varchar2(30);
      v_param3 varchar2(30);
    begin
      v_param1 := 'c';
      v_param2 := 'd';
      --调用函数
      v_param3 := hand_train_pkg.hand_function(v_param1,
                                               v_param2);
      hand_train_pkg.hand_procedure(p_param1 => v_param1,
                                    p_param2 => v_param2);
      dbms_output.put_line('1:'||v_param3);
      dbms_output.put_line('2:'||v_param2);
    end; 
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-22 05:58 , Processed in 0.355443 second(s), 34 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表