资源描述:
《存储过程实例oracle.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一:CREATEORREPLACEPROCEDUREproc_batchISinteractionhourvarchar(100);upcdrnamevarchar(100);part_hourvarchar(100);calendardate;interactionday1varchar(100);interactiondayvarchar(100);part_dayvarchar(100);errmsgvarchar(300);BEGINcalendar:=sysdate-1/24;part
2、_hour:=to_char(sysdate-1/24,'hh24');part_day:=to_char(sysdate-1,'dd');interactionhour:='interactionhour'
3、
4、to_char(calendar,'yyyymm');interactionday:='interactionday'
5、
6、to_char(calendar,'yyyymm');interactionday1:='interactionday1'
7、
8、to_char(calendar,'yy
9、yymm');upcdrname:='upcdr'
10、
11、to_char(calendar,'yymmdd');proc_interactionhour(interactionhour,upcdrname,part_hour,calendar);ifto_char(sysdate,'hh24')='03'thenproc_interactionday(interactionhour,interactionday,interactionday1,part_day);endif;ifto_char(sy
12、sdate,'hh24')='04'thenproc_interactiondayshow(interactionday1,interactionday);endif;insertintoappmsgvalues('成功执行proc_batch','proc_batch',sysdate);commit;EXCEPTIONWHENOTHERSTHENrollback;errmsg:=substr(sqlerrm,1,300);insertintoappmsgvalues('没有成功执行proc_
13、batch','proc_batch',sysdate);commit;ENDproc_batch;/二:CREATEORREPLACEPROCEDUREproc_interactionday(interactionhourvarchar,interactiondayvarchar,interactionday1varchar,part_dayvarchar)ISsqltxt1varchar(2000);sqltxt2varchar(2000);cur_nonumber;cur_valnumbe
14、r;errmsgvarchar(300);BEGINsqltxt1:='insertinto'
15、
16、interactionday
17、
18、'(rival_no,area_no,calendar)'
19、
20、'selectdistinctrival_no,area_no,substr(calendar,1,8)'
21、
22、'calendarfrom'
23、
24、interactionhour
25、
26、'partition(part_'
27、
28、part_day
29、
30、')'
31、
32、'where1=1'
33、
34、'andsubstr(rival_no,
35、1,2)=''04''';cur_no:=dbms_sql.open_cursor;dbms_sql.parse(cur_no,sqltxt1,dbms_sql.native);cur_val:=dbms_sql.execute(cur_no);dbms_sql.close_cursor(cur_no);sqltxt2:='insertinto'
36、
37、interactionday1
38、
39、'(rival_no,area_no,calendar)'
40、
41、'selectdistinctrival_no,ar
42、ea_no,substr(calendar,1,8)'
43、
44、'calendarfrom'
45、
46、interactionhour
47、
48、'partition(part_'
49、
50、part_day
51、
52、')'
53、
54、'where1=1'
55、
56、'andsubstr(rival_no,1,3)in(''130'',''131'',''132'',''133'',''134'')';cur_no:=dbms_sql.open_cursor;dbms_sql.parse(cur_no,sqltxt2,dbms_sql.nativ