Oracle创建包

Oracle创建包,第1张

概述包:   在公司中,如果业务逻辑比较复杂,需要定义很多过程或者函数。有可能需要定义几十个过程或者函数,这些过程或者函数如果都放到一起,是不是不好管理?我们一般使用包来管理过程或者函数,一个包中可以定义多个函数或者过程。   一个包包括包和包体。需要同时定义包和包体,这种写法又类似于java中的接口和接口的实现。包相当于接口,包体相当于接口的 实现类。 创建包的语法:   create [or re

包:

 

在公司中,如果业务逻辑比较复杂,需要定义很多过程或者函数。有可能需要定义几十个过程或者函数,这些过程或者函数如果都放到一起,是不是不好管理?我们一般使用包来管理过程或者函数,一个包中可以定义多个函数或者过程。

 

一个包包括包和包体。需要同时定义包和包体,这种写法又类似于java中的接口和接口的实现。包相当于接口,包体相当于接口的 实现类。 创建包的语法:   create [or replace] package 包名 is

 

  --声明常量   -- 声明函数或者过程 ,但是不能有实现   end; 创建包体的语法:   create [or replace] package body 包名 is   --包的实现   end;   举例:定义包,计算圆的面积 创建包:
-- 定义包 计算圆的面积create or replace package pac_area is-- 定义pi常量v_pi constant number(5,2):=3.14;--定义计算圆的面积的过程,打印圆的面积procedure pro_area(v_r number);--定义一个获取圆的面积的函数function fun_area return number;end;

创建包体:

-- 定义包体,用来实现包create or replace package body pac_area is--把面积参数定义成包体的成员变量,这样函数也可以使用这个变量v_area number(5,2);-- 实现过程procedure pro_area(v_r number) isbeginv_area:=v_pi*v_r*v_r;dbms_output.put_line(‘圆的面积是:‘||v_area);end;--实现函数,注意,调用该函数前,一定要先调用过程function fun_area return number isbeginreturn v_area;end;end;
调用包中的过程或者函数,在函数或者过程前加上包名就可以了:
--使用匿名块调用包中的过程和函数declarev_area number(5,2);begin-- 调用打印圆的面积的过程pac_area.pro_area(2);-- 调用获取圆的面积的函数v_area :=pac_area.fun_area();dbms_output.put_line(‘函数计算的圆的面积是:‘||v_area);end;
管理 :过程 、函数、 包 如何删除过程、 函数、包 drop procedure 过程名; drop function 函数名; drop package 包名; 查询oracle中定义的包 函数 过程从user_source表查找。
select * from user_source where type=‘PACKAGE BODY‘ AND name=‘PAC_AREA‘;
总结

以上是内存溢出为你收集整理的Oracle创建包全部内容,希望文章能够帮你解决Oracle创建包所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/1166437.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-01
下一篇2022-06-01

发表评论

登录后才能评论

评论列表(0条)

    保存