PL/SQL中返回记录集的一个例子
来源:互联网 发布:淘宝天猫图标 编辑:程序博客网 时间:2024/06/08 01:07
CREATE OR REPLACE package my_pack as
TYPE p_cursor IS REF CURSOR;
end;
CREATE OR REPLACE procedure server_check_report_pro(p_cursor out my_pack.p_cursor)
is
vlevel number;
vre varchar2(3000);
cursor c1 is
select * from server_dbcheck_list;
begin
delete from server_check_report;
for c in c1
loop
server_getlogbyip(c.ip,vre,vlevel);
insert into server_check_report (ip,check_item,check_order,error_level,detail)values
(c.ip,'OS DB Log Check',0,vlevel,substr(vre,1,2999));
end loop;
insert into server_check_report(ip,check_item,check_order,error_level,detail)
select a.ip,'Disk Spaces Check',1,nvl(b.error_level,0),nvl(b.remark,'')
from server_dbcheck_list a,server_logcheck_logs b
where a.ip=b.ip(+)
and error_level(+)>0
and id(+)=4;
insert into server_check_report (ip,check_item,check_order,error_level,detail)
select a.ip,a.tns_name||':'||b.LOG_INFO check_item,2,nvl(b.error_level,0) error_level,decode(nvl(b.error_level,0),0,'',replace(replace(b.value_list,'####',','),'"','')) remark
from server_dbcheck_list a,server_dbcheck_logs b
where a.ip=b.ip(+)
and a.tns_name=b.tns_name(+)
and error_level(+)>0
and b.id(+)=1;
commit;
open p_cursor for 'select * from server_check_report order by ip,check_order';
end;
/
TYPE p_cursor IS REF CURSOR;
end;
CREATE OR REPLACE procedure server_check_report_pro(p_cursor out my_pack.p_cursor)
is
vlevel number;
vre varchar2(3000);
cursor c1 is
select * from server_dbcheck_list;
begin
delete from server_check_report;
for c in c1
loop
server_getlogbyip(c.ip,vre,vlevel);
insert into server_check_report (ip,check_item,check_order,error_level,detail)values
(c.ip,'OS DB Log Check',0,vlevel,substr(vre,1,2999));
end loop;
insert into server_check_report(ip,check_item,check_order,error_level,detail)
select a.ip,'Disk Spaces Check',1,nvl(b.error_level,0),nvl(b.remark,'')
from server_dbcheck_list a,server_logcheck_logs b
where a.ip=b.ip(+)
and error_level(+)>0
and id(+)=4;
insert into server_check_report (ip,check_item,check_order,error_level,detail)
select a.ip,a.tns_name||':'||b.LOG_INFO check_item,2,nvl(b.error_level,0) error_level,decode(nvl(b.error_level,0),0,'',replace(replace(b.value_list,'####',','),'"','')) remark
from server_dbcheck_list a,server_dbcheck_logs b
where a.ip=b.ip(+)
and a.tns_name=b.tns_name(+)
and error_level(+)>0
and b.id(+)=1;
commit;
open p_cursor for 'select * from server_check_report order by ip,check_order';
end;
/
如何取得紀錄集呢,打開SQLProgress,登陸進去,點菜單"advance"-->exec func/prod ...在彈出的框中輸入procedure的名字,和參數,直接點OK就可以看到結果.具體操作可以看看SQLProgress的幫助.
- PL/SQL中返回记录集的一个例子
- 一个简单的PL/SQL的例子
- PL/SQL:记录 / 集合例子
- 如何在PL/SQL Developer中设置使其可以显示查询返回的所有记录?
- 如何在PL/SQL Developer中设置使其可以显示查询返回的所有记录
- 如何在PL/SQL Developer中显示查询返回的所有记录?
- 在PL/SQL Developer中怎样显示通过查询表返回的所有记录?
- PL/SQL的例子
- pl/sql 返回值是不止一个的处理方式
- PL/SQL中使用SMTP发送电子邮件的例子
- pl/sql中使用table()函数的例子
- 在.NET中调用PL/SQL返回游标的取得
- PL/SQL中读取返回游标的存储过程
- PL/SQL中 块与过程的记录笔记
- 记录一个PL/SQL调试语句
- PL/SQL --> PL/SQL记录
- PL/SQL --> PL/SQL记录
- 110---oracle的pl/sql例子
- Java语言介绍(04)开源项目(02)WEB框架(02)WebWork
- oracle11g 特性
- Abap OO and .Net OO [1]
- C专栏D-内存管理
- 国足换帅
- PL/SQL中返回记录集的一个例子
- Nand读写操作
- Java语言介绍(04)开源项目(02)WEB框架(03)Struts
- 第十三課 別々に お願いします
- 读写COM口
- Java语言介绍(04)开源项目(02)持久层框架(01)Hibernate
- 用delphi编写打印程序的窍门
- 关于Visual Studio 2005的调试
- Leo说说写简历之晋级篇 - 职业生涯顾问Leo - CSDNBlog