oracle印象之程序包

    在oracle中可以单独的使用存储过程、函数等,同时也可以将存储过程、函数、游标、变量、常量、自定义数据类型以及异常等组织在一起,作为一个完整的单元存储在
数据库中,用名称来标示程序包。程序包是对PL/sql块或元素的封装,相当于面向对象中的类。
    程序包包括两个独立的部分:说明部分和包体部分。这两个部分独立的存在于数据字典中。
    说明部分是包与应用的程序之间的接口,只是过程、函数、游标等的名称或首部。
    包体部分才是过程、函数、游标的具体实现。
    包说明部分
      包说明部分相当于一个包的头,它对包的所有部分进行一个简单的说明。
      包说明部分的创建格式为:
      create or replace package 包名
        as|is
         变量、常量以及数据类型定义;
         游标定义;
         函数、过程定义;
         end 包名
      例如:
       create or replace package test_pkg4
        is
            type type1 is RECORD
            (
                num1 number
            );
            type testCur is ref cursor  return type1;
            function testFun(num1 in number, num2 in number)return number;
            procedure testPro(name in varchar);
        end;
    包体部分
        包体部分是游标、函数、存储过程的具体实现。
       语法为:
   create or replace package body 包名
         is|as
            游标、函数、存储过程的具体实现;
        end 包名;
     例如:
    create or replace package body test_pkg4
      is
           function testFun(num1 in number, num2 in number)
           return number
           as
            num3 number;
            num4 number;
            num5 number;
            begin
              num3 := num1+num2;
              num4 :=num3*num2;
              num5 := num4-num1;
              return num5;
            end testFun;
          procedure testPro(name in varchar)
          is
           address varchar2(20);
           begin
           select STU_ADDRESS into address from student where stu_name = name;
           end testPro;
    end test_pkg4;               
    调用包
      包的调用
       包名.变量名(常量名)
       包名.函数名(过程名)
       包名.游标名
     例如调用函数:
        select test_pkg4.testFun(12,13) from dual;    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值