问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何建立oracle包,如何调用包的过程或是函数

发布网友 发布时间:2022-04-28 21:34

我来回答

2个回答

懂视网 时间:2022-05-01 19:10

一 包的组成

1)包头(package):包头部分申明包内数据类型,常量,变量,游标,子程序和异常错误处理,

   这些元素为包的公有元素。

2)包主体(package body):包主体则是包定义部分的具体实现,它负责为包头中所声明子程序

   提供具体的实现,在包主体中还可以声明包的私有元素

3)包头和包主体分开编译,并作为两个分开的对象分别存放在数据库字典中


--删除package

--drop package pkg_lxg_test;

--1)首先创建package头(头和body的sql不要写在同一个文件中执行)

---- 这里可以声明多个procedure(如果外部调用才声明)

create or replace package pkg_lxg_test as

  procedure deleteTask(taskTypeCode  in varchar2, --任务类型代码

                     businessKey   in varchar2, --业务号

                     resultCode    out varchar2, --结果代码

                     resultMessage out varchar2 --结果信息

                     );

end pkg_lxg_test;


--)2 再创建package体(上面的头不能和体一起执行,移交时应该写成两个sql文件进行移交)

--)3 创建完成后,如果创建成功了会自动编译的

--)4 如果在创建package不成功的话,在查看和说明中可以查看到错误

--)5 package创建完成后,-->右键,查看--->然后选中你要测试的package中的proc点击右键---》测试

CREATE OR REPLACE PACKAGE BODY NBADATA.pkg_lxg_test AS


function function2(taskTypeCode  in varchar2,businessKey in varchar2) return varchar2

  is

   v_preview_environment  varchar2(4);

   v_voucher_no varchar2(50);

   v_count          number default 0;

begin

   v_preview_environment:= ‘1‘;

   --dbms_output.put_line(‘执行了方法function2‘);

   return v_preview_environment;

end function2;


 --这里定义procedure,可以定点多个

 procedure deleteTask(taskTypeCode  in varchar2, --任务类型代码

                     businessKey   in varchar2, --业务号

                     resultCode    out varchar2, --结果代码

                     resultMessage out varchar2 --结果信息

                     ) IS

 begin

       begin

             resultCode    := ‘0‘;

             resultMessage := ‘delete asynchrouns task sucess‘;

            --dbms_output.put_line(‘成功执行了存储过程‘);

       exception

         when others then

           resultCode    := ‘1‘;

           resultMessage := ‘fail in deleting asynchrouns task sucess‘;

       end;

 end deleteTask;


end pkg_lxg_test;


oracle包的创建

标签:oracle package

热心网友 时间:2022-05-01 16:18


包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成

1.创建包

--创建一个包sp_package

create package sp_package is

--声明该包有一个过程和函数,(没有实现)

procere update_sal(name varchar2,newsal number);

function annual_nicome(name varchar2) return number;

end;


--创建包体(用于实现已经声明的函数和过程)

create package body sp_package is

procere update_sal(name varchar2,newsal number)

is

BEGIN

  UPDATE emp

  SET    sal = newsal

  WHERE  ename = name;

END;

function annual_income(name varchar2)

return number is

annual_salary number;

BEGIN

  SELECT sal * 12 + Nvl(comm,0)

  INTO   annual_salary

  FROM   emp

  WHERE  ename = name;

  RETURN annual_salary;

END;

end;

--调用包中的内容

exec sp_package.update_sal('name',number);

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
现在波兰的签证率高不高 去波兰如何办签证 去波兰办签证好办理吗 波兰签证好签吗 win7 多重网络 教师资格证普通话要多少级 想考教师资格证普通话必须过几级 qq影视会员SVIP和超级影视VIP的区别在哪里? 一小撮怎么造句 盛行一时怎么造句 梅林茄汁黄豆罐头425g怎么样,好不好 茄汁黄豆罐头怎么吃 茄汁黄豆罐头可以直接食用吗? 香焖茄汁黄豆罐头能与鸡蛋汤同吃吗? 番茄黄豆罐头如何吃好? 茄汁黄豆罐头和草菇能一起做菜吗? 茄汁焗豆罐头与什么搭配这吃好吃 茄汁黄豆罐头做什么菜 茄汁黄豆罐头怎么吃,茄汁黄豆罐头的做法和技巧有哪些 茄汁黄豆罐头怎么烧菜 茄汁黄豆罐头炒什么菜 固定资产清查的账务处理 计提固定资产折旧的帐务处理? 购买固定资产时,应怎样做账务处理? 行政事业单位固定资产账务处理 早餐番茄饼是怎么做的呢? 谁知道番茄茄子饼怎样做好吃? 天猫店铺先用后付怎么付款?入驻条件是些什么? 淘宝的先用后付怎么使用? 为什么淘宝没有先用后付 ORACLE中一般什么情况下创建包? oracle创建包、存储过程 oracle创建包?和存储过程 oracle 如何在包里创建一个简单的函数和存储过程 用oracle创建一个包 实现表的增删改查 用过程和函数实现。 oracle如何在包里创建函数与过程 如何创建自己的InstantClient包 紧张声音颤抖如何避免? oracle 创建package时 参数purpose有什么意思 人多紧张就会手抖怎么回事? 开会紧张发言声音发抖这是什么情况,大家每天都在一起开早会,为什么会特别紧张,大家都是朋友! 紧张的时候为什么声音会抖?有没有什么好办法能不抖啊? 钉钉如何自定义审批模板? 为什么人在紧张时讲话声音会发抖? 关于思科CCSP认证 紧张的时候声音颤抖 有什么高中学习的软件? 为什么鸟儿在早上叫得特大声? 早上鸟叫厉害为什么? 高中生学软件好吗?以后好工作吗?