

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、北京傳智播客教|7 北京傳智播客教f7 廠 傳智播客 一髙級(jí)軟件人才賣作培訓(xùn)專家!、目標(biāo)_通過木章學(xué)習(xí),您將可以:掌握過程掌握函數(shù)掌握觸發(fā)器丿北京傳智播客教仃廠 傳智播客 一7T級(jí)軟件人才賣作培訓(xùn)專家!、存儲(chǔ)過程和存儲(chǔ)函數(shù)指存儲(chǔ)在數(shù)據(jù)庫(kù)中供所有用戶程序調(diào)用的 子程序叫存儲(chǔ)過程、存儲(chǔ)函數(shù)。北京傳智播客教仃廠 傳智播客 一7T級(jí)軟件人才賣作培訓(xùn)專家!、創(chuàng)建存儲(chǔ)過程用CREATE PROCEDURE命令建立存儲(chǔ)過 程和存儲(chǔ)函數(shù)。語法:create or replace PROCEDURE過程名(參數(shù)列表)ASPLSQL子程序體;丿北京傳智播客教仃C傳智播客 一 k 級(jí)軟件人才夾作培訓(xùn)專家!存儲(chǔ)過程示
2、例:為指疋的職匸在原匸資的宰礎(chǔ)上長(zhǎng)40%的工資,并打印漲工資前和漲工資后的匸資為舟刪 職工左原工逐咄上長(zhǎng)丄0彳的工仇拜打旬&工酊 工g宕的m可頤裁妙3“語旬uppno - npid;create or repldee procedure calseSalacy(enpid in *wJt?r)aspsu惺療丁勻SrT巧bfgln-2t915X03I5xelrrt sal into pSal from eap vferrr eBpnoaeapid;wpdnte ecp aet zsal sal丄.L vtu-re e&pno - eBpid;-打印務(wù)工筒肺后的工茨M_outpuc
3、.pur_line(,I6K: 11 enpid 11 /工15ID: 11 psal 11 S155/5* 11 psl 1.1); end;北京傳智播客教仃廠 傳智播客 一 k 級(jí)軟件人才賣作培訓(xùn)專家!、存儲(chǔ)過程調(diào)用方法一:set serveroutput on begin raisesalary(7369);end;方法二:set serveroutput on exec i*aisesalary(7369);存儲(chǔ)過程(為指定的員工昧匸資)sql丿北京傳智播客教|7 C傳智韜客 一髙級(jí)軟件人才賣作培訓(xùn)專家!練習(xí):為指定員工增加指定額度的匸資(傳遞多個(gè)參數(shù))存儲(chǔ)過程(為指定的員J SK r
4、資2) sq 1北京傳智播客教|7 C傳智播客 一 k 級(jí)軟件人才夾作培訓(xùn)專家!、存儲(chǔ)函數(shù)函數(shù)(Function)為一命名的存儲(chǔ)程丿乩 可帶參數(shù),并返冋一計(jì) 算值。函數(shù)和過程的結(jié)構(gòu)類似,但必須有一個(gè)RETURN r句,用 于返回函數(shù)值。函數(shù)說明要指定函數(shù)名、結(jié)杲值的類型,以及參 數(shù)類型等。建立心儲(chǔ)函數(shù)的語法:CREATE OR REPLACE FUNCTION函數(shù)名(參數(shù)列表)RETURN函數(shù)值類型ASPLSQL子程序體;北京傳智播客教|7 函數(shù)的調(diào)用declarev_sal number;begin v_sal:=queryEmpSal ary (7934); dbms_output.put
5、_line(,salaryis: I v_sal); end;begi n示例:查詢某職工的年收入。蘭詢養(yǎng)職工的總收入TFtt*數(shù)(音詢就員工的工5 sal10111213create oriTtldccrvictlonduciyEMp3al ary (cwpld1* nurtocr)UETURNHWHEMASpSal14北京傳智播客教仃北京傳智播客教|7 dbms_output.put_line(salary is:1| queryEmpSalary(7934); end;北京傳智播客教仃C傳智播客 一術(shù)級(jí)軟件人才賣作培訓(xùn)專家!過程和函數(shù)中的ill和out 一般來講,過程和函數(shù)的區(qū)別在于函數(shù)
6、可 以有一個(gè)返回值:而過程沒有返回值。但過程和函數(shù)都可以通過out指定一個(gè)或 多個(gè)輸出參數(shù)。我們可以利用out參數(shù), 在過程和函數(shù)中實(shí)現(xiàn)返回多個(gè)值。北京傳智播客教仃C傳智播客 一術(shù)級(jí)軟件人才賣作培訓(xùn)專家!在Java語言中調(diào)用存儲(chǔ)過程存儲(chǔ)過程:1rrpatp orproepawre t-escprocedUEe(eld 1 neopnajQ out vArrhar/eoipsal o tWIIXRFR)2as3begin4selectlato empnanezeupsal rp uhere eupao-ciw) )設(shè)置曲cal丄.setlnTd, 7369);call regist.erOutP
7、araireter (2 orac le jdbc Oracl eTypes ;cal 1. regisrerOutParanretec (3 , orac le jdbc .OracleTypes. W!M31TR);“執(zhí)行存儲(chǔ)過程cal1.RXCUX();輸出結(jié)臬丿北京傳智播客教仃smna nftroc cnix Q住tSttz:inQ(2):int sal cal 1 aet.Int.(3);3yst.ew out pr incln (neuw-);System out pi:In (s&l);丿北京傳智播客教仃在J a va語言中調(diào)用存儲(chǔ)函數(shù)存儲(chǔ)因數(shù):create orfunc
8、tion teje.Cunct.1 on (id i a nunAcrBut varcharo t N11M8KR )returs HUMBERselect enmezsal into efepnone, enpoal frcwi cup where espno-eld; Wrn *npsalT12;Java程序/&JftCLLb丄uSCei匕uioencC1 lbleStatewent cal 1 - conn pxrep&reCa11 ( ( ? c$】1 test-funct-ion( ?#7, ?) ) *1 ;設(shè)賣參數(shù)cell .reQEteirOdtP&ir
9、euDeter (1#orc le、db c 0 racleType HUK&SR);call su匕IntINj 7369);Cttll3 / oracle jdbc Orac 1eTypQ8 V61RC?MR| ;cal 1.regiJiterOutPairaMter (4“ oracle jdbc Or cl TypNUX3KR:執(zhí)行存fit函數(shù)cal】 xecuc.* ();輔出結(jié)采ftnt annualSal callSehina narbe - call uuttir:iia (2):int sal call*匕1口丄(4:Syaccru.out .prmcln (annu
10、aISa 1):Syscem. out pr inc In (n*ma) );SysuciTi.out .prmcln (sail :北京傳智播客教I? 什么時(shí)候用存儲(chǔ)過程/存儲(chǔ)函數(shù)?原則:如果只有一個(gè)返回值,用存儲(chǔ)函數(shù);否則,就 用存儲(chǔ)過程。廠傳廠傳北京傳智播客教17 在out參數(shù)中使用游標(biāo)梅!RG工的工 P 聞 G 工倍Q .妥束遊EJG工所看氓島便書游抹作為ouF戲1. SRI個(gè)包:laypackagcY lcSvaccscn) L-nll) gccCuc9QE(2| : vhii.e(ra.nexc() )hISystem, out .print ln(rs亡匕1“匕(1)”* -t-
11、 rs.getScring(Z) + rs.getStrlogO);廠傳中明包結(jié)構(gòu)創(chuàng)建包體5?Ul910 RCREATEORREFLICE(WATT W KKFI.AC:FftCKME:BODVPROCEDURE衛(wèi)cn?cap(U& lr nwt) )erzetipinfo out epjrsor) AS BEQIMopen eplnto for select frcn eap vwrp eiipno* eld; PUD qucryexp;10LiENDMYPACKATestOrac 1 a 9北京傳種播客教|7 c傳智播客一髙級(jí)軟件人才賣作培訓(xùn)專家觸發(fā)器數(shù)據(jù)丿牟觸發(fā)器是-個(gè)與表相關(guān)聯(lián)
12、的、心儲(chǔ)的PL/SQL程序。毎當(dāng)-個(gè) 特足的數(shù)據(jù)操作語句(Insert,update,delete)在指怎的衣上發(fā)th時(shí),Oracle 0動(dòng)地執(zhí)行觸發(fā)器屮定義的語句序列。觸發(fā)器的類型語句級(jí)觸發(fā)器在指左的操作語句操作Z詢或Z后執(zhí)行次,不管這條語句影響了女少行。行級(jí)觸發(fā)器(FOR EACH ROW)觸發(fā)語句作用的每條記求都被觸發(fā)。在行級(jí)觸發(fā)器中使用old和new偽記求變量,識(shí)別值的狀態(tài)。V_丿北京傳種播客教|7 C傳智播客一髙級(jí)軟件人才賣作培訓(xùn)專家創(chuàng)建觸發(fā)器CREATE or REPLACE TRIGGER觸發(fā)器名BEFORE I AFTERDELETE I INSERT I UPDATE OF列
13、名ON表名丿北京傳智播客教仃IFOR EACH ROW WHEN(條件)JPLSQL塊北京傳種播客教|7 C傳智播客 一高級(jí)軟件人才實(shí)作培訓(xùn)專家!、示例1:限制非工作時(shí)間向數(shù)據(jù)庫(kù)插入數(shù)據(jù)1create or yRace*2trigynr secuxi3before lasert on exp40 declax-e s6 bcvi*e 3 ifi*(更朗CT J星畑天,) )9or(tx) )_chat ysdate, hh24 ) iut between 8 and 18 tlwn10oise_application_ett oL(-20001f*14入數(shù)JS );11eiuf if;LZ c
14、ud;-20000到20999之間北京傳智播客教仃C傳智播客 一高級(jí)軟件人才實(shí)作培訓(xùn)專家!、觸發(fā)語句與偽記錄變量的值紀(jì)發(fā)語句:old:newInsert所有字段都是空(null)將要插入的數(shù)據(jù)Update更新以前該行的值更新后的值delete刪除以前該行的值所有字段都是空(null)緻發(fā)誥(荒llMIH作時(shí)何向V衣中插入數(shù)據(jù).sql丿北京傳智播客教仃示彳列2:確認(rèn)數(shù)據(jù)(檢杳etnp農(nóng)中“I的修改值不低于原值)5create or replace trigger checksal6before iodate of s&l on enp7tor eack row8declare9begin10if :ner: old SAI TIEN11taxse_appllcaLion_exror (-20002,更新后GSft水t匕更新骼小1):12end if ;13ead;北京傳種播客教I? c傳智2丘例2 :毗蘇克(社査砂發(fā)黙(新1書23戍大于1日工責(zé))陰1丿丿北京傳智
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《餐飲服務(wù)與管理》課件-教學(xué)課件:閩浙湘徽
- 2025年合作聯(lián)盟合同范本
- 腎小管性酸中毒的臨床護(hù)理
- 五年級(jí)數(shù)學(xué)下《分?jǐn)?shù)的基本性質(zhì)》公開課教學(xué)設(shè)計(jì)
- 三尖瓣畸形的臨床護(hù)理
- 2025勞動(dòng)合同試用期限是多少個(gè)月
- 2025勞動(dòng)合同范本【簡(jiǎn)單】
- 《2025年光纖傳輸網(wǎng)絡(luò)建設(shè)合同》
- 2025年上海市各區(qū)高三二模語文試題匯編《文言文一》含答案
- 初中歷史金與南宋對(duì)峙課件-2024-2025學(xué)年統(tǒng)編版七年級(jí)歷史下冊(cè)
- 2025年裝維智企工程師(三級(jí))復(fù)習(xí)模擬100題及答案
- 國(guó)家管網(wǎng)集團(tuán)西南管道昆明輸油氣分公司突發(fā)環(huán)境事件綜合應(yīng)急預(yù)案
- 施工現(xiàn)場(chǎng)臨時(shí)用電安全
- 停送電培訓(xùn)課件
- 醫(yī)院培訓(xùn)課件:《核心制度-護(hù)理值班和交接班制度》
- 解題秘籍05 圓的綜合問題(9種題型匯-總+專題訓(xùn)練)(解析版)-2025年中考數(shù)學(xué)重難點(diǎn)突破
- 無線網(wǎng)絡(luò)施工方案
- 電商平臺(tái)居間合同
- 阮樂器美術(shù)課件
- 中國(guó)大唐集團(tuán)有限公司陸上風(fēng)電工程標(biāo)桿造價(jià)指標(biāo)(2023年)
- 2025年上半年赤峰新正電工技術(shù)服務(wù)限公司社會(huì)招聘66人(內(nèi)蒙古)易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
評(píng)論
0/150
提交評(píng)論