日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > 數(shù)據(jù)庫 > 數(shù)據(jù)庫應(yīng)用 > oracle創(chuàng)建-存儲(chǔ)過程和函數(shù)

oracle創(chuàng)建-存儲(chǔ)過程和函數(shù)

來源:程序員人生   發(fā)布時(shí)間:2015-03-07 13:20:52 閱讀次數(shù):3012次

--創(chuàng)建存儲(chǔ)進(jìn)程

CREATE OR REPLACE PROCEDURE xxxxxxxxxxx_p( --參數(shù)IN表示輸入?yún)?shù), --OUT表示輸出參數(shù),類型可使用任意Oracle中的合法類型。 is_ym IN CHAR) AS --定義變量 vs_msg VARCHAR2(4000); --毛病信息變量 vs_ym_beg CHAR(6); --起始月份 vs_ym_end CHAR(6); --終止月份 vs_ym_sn_beg CHAR(6); --同期起始月份 vs_ym_sn_end CHAR(6); --同期終止月份 --定義游標(biāo)(簡單的說就是1個(gè)可以遍歷的結(jié)果集) CURSOR cur_1 IS SELECT area_code, CMCODE, SUM(rmb_amt) / 10000 rmb_amt_sn, SUM(usd_amt) / 10000 usd_amt_sn FROM BGD_AREA_CM_M_BASE_T WHERE ym >= vs_ym_sn_beg AND ym <= vs_ym_sn_end GROUP BY area_code, CMCODE; BEGIN --用輸入?yún)?shù)給變量賦初值,用到了Oralce的SUBSTR TO_CHAR ADD_MONTHS TO_DATE 等很經(jīng)常使用的函數(shù)。 vs_ym_beg := SUBSTR(is_ym, 1, 6); vs_ym_end := SUBSTR(is_ym, 7, 6); vs_ym_sn_beg := TO_CHAR(ADD_MONTHS(TO_DATE(vs_ym_beg, 'yyyymm'), ⑴2), 'yyyymm'); vs_ym_sn_end := TO_CHAR(ADD_MONTHS(TO_DATE(vs_ym_end, 'yyyymm'), ⑴2), 'yyyymm'); --先刪除表中特定條件的數(shù)據(jù)。 DELETE FROM xxxxxxxxxxx_T WHERE ym = is_ym; --然后用內(nèi)置的DBMS_OUTPUT對(duì)象的put_line方法打印出影響的記錄行數(shù),其中用到1個(gè)系統(tǒng)變量SQL%rowcount DBMS_OUTPUT.put_line('del上月記錄=' || SQL%rowcount || '條'); INSERT INTO xxxxxxxxxxx_T (area_code, ym, CMCODE, rmb_amt, usd_amt) SELECT area_code, is_ym, CMCODE, SUM(rmb_amt) / 10000, SUM(usd_amt) / 10000 FROM BGD_AREA_CM_M_BASE_T WHERE ym >= vs_ym_beg AND ym <= vs_ym_end GROUP BY area_code, CMCODE; DBMS_OUTPUT.put_line('ins當(dāng)月記錄=' || SQL%rowcount || '條'); --遍歷游標(biāo)處理后更新到表。遍歷游標(biāo)有幾種方法,用for語句是其中比較直觀的1種。 FOR rec IN cur_1 LOOP UPDATE xxxxxxxxxxx_T SET rmb_amt_sn = rec.rmb_amt_sn, usd_amt_sn = rec.usd_amt_sn WHERE area_code = rec.area_code AND CMCODE = rec.CMCODE AND ym = is_ym; END LOOP; COMMIT; --毛病處理部份。OTHERS表示除聲明外的任意毛病。SQLERRM是系統(tǒng)內(nèi)置變量保存了當(dāng)前毛病的詳細(xì)信息。 EXCEPTION WHEN OTHERS THEN vs_msg := 'ERROR IN xxxxxxxxxxx_p(' || is_ym || '):' || SUBSTR(SQLERRM, 1, 500); ROLLBACK; --把當(dāng)前毛病記錄進(jìn)日志表。 INSERT INTO LOG_INFO (proc_name, error_info, op_date) VALUES ('xxxxxxxxxxx_p', vs_msg, SYSDATE); COMMIT; RETURN; END;


--創(chuàng)建函數(shù)
create or replace function get_publicholidaytime(fromtime in Date, totime in Date, isAvailable in number) return number as --定義變量 free_day number := 0; mindate Date; maxdate Date; total number := 0; fromdate Date := TO_DATE(to_char(fromtime, 'yyyy/MM/dd'), 'yyyy/MM/dd'); todate Date := TO_DATE(to_char(totime, 'yyyy/MM/dd'), 'yyyy/MM/dd'); begin --if語句 if isAvailable = 1 then --sql語句 select min(calendar_date), max(calendar_date), count(calendar_date) into mindate, maxdate, total from T_BI_TNT_DATE where calendar_date between fromdate and todate and IS_PUBLIC_HOLIDAY = 1; if mindate = fromdate then total := total - 1; free_day := free_day + ((mindate + 1) - fromtime); end if; if maxdate = todate then total := total - 1; free_day := free_day + (totime - maxdate); end if; if mindate = maxdate then free_day := totime - fromtime; else free_day := free_day + total; end if; end if; return free_day; end get_publicholidaytime;


相干文檔
Oracle存儲(chǔ)進(jìn)程創(chuàng)建及調(diào)用:http://www.cnblogs.com/chinafine/articles/1776094.html


二者區(qū)分:

用來計(jì)算并返回1個(gè)計(jì)算結(jié)果而存儲(chǔ)進(jìn)程1般是用來完成特定的數(shù)據(jù)操作(比如修改、插入數(shù)據(jù)庫表或履行某些DDL語句等等),所以雖然他們的語法上很相似但用戶在使用他們的時(shí)候所需要完成的功能大部份情況下是不同的。
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 免费在线成人 | 色婷婷亚洲综合 | 日韩欧美一级片 | 成人污视频在线观看 | 91在线精品一区二区 | 日韩免费三级 | 久久久久久久一区 | 国产成人在线播放 | 欧美日韩一区视频 | 成人免费一区二区三区视频网站 | 久草99| 日韩免费高清视频 | 亚洲毛片在线播放 | 国产在线资源 | 99久久精品费精品 | 免费在线成人 | 免费a级人成a大片在线观看 | 久久国产精品免费一区二区三区 | 欧美视频日韩 | 在线中文av | 91 中文字幕| 嫩草影院懂你的影院 | 欧美大吊视频 | 日韩国产在线观看 | 蜜桃视频一区二区 | 在线观看国产麻豆 | 久久成人免费 | 99精品电影 | 国产v日产∨综合v精品视频 | 国产精品系列在线 | 国产成人精品久久久 | 精品高清视频 | 99综合视频 | 欧美视频亚洲视频 | 麻豆视频观看 | 国产69精品久久久久777 | 日韩免费电影在线观看 | 黄色网址在线免费观看 | 视频三区| 一级欧美视频 | 欧美日韩电影在线 |