程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> PL/SQL中返回記錄集的一個例子

PL/SQL中返回記錄集的一個例子

編輯:關於SqlServer
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;
/
 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved