oracle存儲過程procedure業(yè)務(wù)流程框架

基本語法

1.過程和業(yè)務(wù)變量

CREAT OR REPLACE PROCEDURE procedure_name(I_param in CHAR,
                                          O_param out VARCHAR2,
                                          O_param0  out VARCHAR2) IS 

-------------------------------調(diào)試變量------------------------------
v_msg varchar2(200); --返回信息
v_error integer;
v_object varchar2(50) default 'procedure_name'; --標(biāo)記操作對象

-------------------------------業(yè)務(wù)變量-------------------------------
--用于處理業(yè)務(wù)的臨時變量
v_date char(8); --業(yè)務(wù)時間
v_name1 number(19,4); --業(yè)務(wù)變量1
v_name2 varchar(20) ; --業(yè)務(wù)變量2

2.業(yè)務(wù)處理

BEGIN
--------------------------------業(yè)務(wù)處理-------------------------------

-----------變量賦值--
O_param0 := 0
O_param := '開始執(zhí)行'; --  :=用于賦值来庭,=用于判斷
v_date:=I_param; --in類型的變量

-----------創(chuàng)建臨時表(有時會用到)--
execute immediate 'truncate table table_name';

-----------可能用到的結(jié)構(gòu)--
for idx in (select t.* from table1 t) loop
  v_name1 := idx.name1;
  v_name2 := idx.name2;
  if to_date(v_date,'yyyymmdd')+1>=num then
    v_date := to_char(to_date(v_date,'yyyymmdd')+5,'yyyymmdd');
  end if;
  insert into table_name(var1,var2)
    select var1,var2 from t1
    where not exists(select * from table_name d
                     where d.var1=v_date); --exists用于挑選table_name中的數(shù)據(jù)
  commit; --注意要commit葫笼,否則數(shù)據(jù)庫中不會變
end loop;

-----------主表table_mian--
insert into table_mian
  (var1,
  case
    when t.var like '%-12-01%' then -- %通配符
      '2019-12-3'
    else
      coalesce(t.var,'2019-11-01') -- coalesce按順序選擇非null值
    end var2祥国,-- end后面還可以繼續(xù)case
    '@'
select t.* from table_name t
  left join table1 a
  where t.id=a.id;
commit;

3.錯誤處理

-------------------------------業(yè)務(wù)結(jié)束------------------------------
O_param0 := 0 -- 即正常運行為0
O_param :='執(zhí)行成功'
EXCEPTION
  when OTHERS then
    O_param0 := SQLCODE; -- 錯誤碼
    O_param := O_param || SQLERRM; --SQLERRM錯誤代碼錯誤信息
    ROLLBACK; --回調(diào),回調(diào)沒有commit或者commit出錯的部分
    v_error := O_param0;
    v_msg := O_param;
    -- 一般還會將錯誤信息寫入log
END;
oracle視圖惊畏,主要用于表的查詢轧飞,可結(jié)合存儲過程使用
--------------------------------基本語法-----------------------------
create or replace view view_name as 
select t.var1,
       t.var2
from t_name t
left join t1_name a
  where t.id=a.id;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市毅厚,隨后出現(xiàn)的幾起案子迹恐,更是在濱河造成了極大的恐慌,老刑警劉巖卧斟,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件殴边,死亡現(xiàn)場離奇詭異,居然都是意外死亡珍语,警方通過查閱死者的電腦和手機锤岸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來板乙,“玉大人是偷,你說我怎么就攤上這事∧汲眩” “怎么了蛋铆?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長放接。 經(jīng)常有香客問我刺啦,道長,這世上最難降的妖魔是什么纠脾? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮苟蹈,結(jié)果婚禮上糊渊,老公的妹妹穿的比我還像新娘。我一直安慰自己慧脱,他們只是感情好渺绒,可當(dāng)我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著菱鸥,像睡著了一般宗兼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上采缚,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天针炉,我揣著相機與錄音挠他,去河邊找鬼扳抽。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的贸呢。 我是一名探鬼主播镰烧,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼楞陷!你這毒婦竟也來了怔鳖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤固蛾,失蹤者是張志新(化名)和其女友劉穎结执,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體艾凯,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡献幔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了趾诗。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜡感。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖恃泪,靈堂內(nèi)的尸體忽然破棺而出郑兴,到底是詐尸還是另有隱情,我是刑警寧澤贝乎,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布情连,位于F島的核電站,受9級特大地震影響览效,放射性物質(zhì)發(fā)生泄漏蒙具。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一朽肥、第九天 我趴在偏房一處隱蔽的房頂上張望禁筏。 院中可真熱鬧,春花似錦衡招、人聲如沸篱昔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽州刽。三九已至,卻和暖如春浪箭,著一層夾襖步出監(jiān)牢的瞬間穗椅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工奶栖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留匹表,地道東北人门坷。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像袍镀,于是被迫代替她去往敵國和親默蚌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,627評論 2 350