create or replace package 包名 is
procedure P_RPT_D_OCBYGCC(var_StatTime in date);
procedure P_RPT_025(var_StatTime in date);
end 包名;
首先是定义一个包,并声明包的内容是两个储存过程。下面是定义包体
create or replace package body 包名 is
procedure P_RPT_D_OCBYGCC(var_StatTime in date) is
vSELECTNUM int;--可以声明变量
begin
这个是正文
比如从一个表抽取你想要的数据到另一个表
insert into table1 select.....select是查询符合条件的数据,这样就把你要的数据插入另一个表了。
Exception 处理异常
WHEN OTHERS THEN
--回滚事务
ROLLBACK;
raise;
end P_RPT_D_OCBYGCC;
下面这个储存过程是调用上面的储存过程
procedure P_RPT_025(var_StatTime in date) is
iNowTime date;
begin
iNowTime := var_StatTime;
P_RPT_D_OCBYGCC(var_StatTime => iNowTime);
commit;
Exception
WHEN OTHERS THEN
--回滚事务
ROLLBACK;
raise;
end P_RPT_025;
end INF_RPT_025;
这已经结束了,相信我们都会在包里写储存过程了
procedure P_RPT_D_OCBYGCC(var_StatTime in date);
procedure P_RPT_025(var_StatTime in date);
end 包名;
首先是定义一个包,并声明包的内容是两个储存过程。下面是定义包体
create or replace package body 包名 is
procedure P_RPT_D_OCBYGCC(var_StatTime in date) is
vSELECTNUM int;--可以声明变量
begin
这个是正文
比如从一个表抽取你想要的数据到另一个表
insert into table1 select.....select是查询符合条件的数据,这样就把你要的数据插入另一个表了。
Exception 处理异常
WHEN OTHERS THEN
--回滚事务
ROLLBACK;
raise;
end P_RPT_D_OCBYGCC;
下面这个储存过程是调用上面的储存过程
procedure P_RPT_025(var_StatTime in date) is
iNowTime date;
begin
iNowTime := var_StatTime;
P_RPT_D_OCBYGCC(var_StatTime => iNowTime);
commit;
Exception
WHEN OTHERS THEN
--回滚事务
ROLLBACK;
raise;
end P_RPT_025;
end INF_RPT_025;
这已经结束了,相信我们都会在包里写储存过程了
本文介绍了一个包含两个存储过程的PL/SQL包的创建方法。其中一个存储过程用于数据抽取并插入另一表,另一个则用于调用前者。文章展示了如何定义包头、包体,以及异常处理。
1338

被折叠的 条评论
为什么被折叠?



