

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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)_通過(guò)木章學(xué)習(xí),您將可以:掌握過(guò)程掌握函數(shù)掌握觸發(fā)器丿北京傳智播客教仃廠 傳智播客 一7T級(jí)軟件人才賣作培訓(xùn)專家!、存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)指存儲(chǔ)在數(shù)據(jù)庫(kù)中供所有用戶程序調(diào)用的 子程序叫存儲(chǔ)過(guò)程、存儲(chǔ)函數(shù)。北京傳智播客教仃廠 傳智播客 一7T級(jí)軟件人才賣作培訓(xùn)專家!、創(chuàng)建存儲(chǔ)過(guò)程用CREATE PROCEDURE命令建立存儲(chǔ)過(guò) 程和存儲(chǔ)函數(shù)。語(yǔ)法:create or replace PROCEDURE過(guò)程名(參數(shù)列表)ASPLSQL子程序體;丿北京傳智播客教仃C傳智播客 一 k 級(jí)軟件人才夾作培訓(xùn)專家!存儲(chǔ)過(guò)程示
2、例:為指疋的職匸在原匸資的宰礎(chǔ)上長(zhǎng)40%的工資,并打印漲工資前和漲工資后的匸資為舟刪 職工左原工逐咄上長(zhǎng)丄0彳的工仇拜打旬&工酊 工g宕的m可頤裁妙3“語(yǔ)旬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ǔ)過(guò)程調(diào)用方法一:set serveroutput on begin raisesalary(7369);end;方法二:set serveroutput on exec i*aisesalary(7369);存儲(chǔ)過(guò)程(為指定的員工昧匸資)sql丿北京傳智播客教|7 C傳智韜客 一髙級(jí)軟件人才賣作培訓(xùn)專家!練習(xí):為指定員工增加指定額度的匸資(傳遞多個(gè)參數(shù))存儲(chǔ)過(guò)程(為指定的員J SK r
4、資2) sq 1北京傳智播客教|7 C傳智播客 一 k 級(jí)軟件人才夾作培訓(xùn)專家!、存儲(chǔ)函數(shù)函數(shù)(Function)為一命名的存儲(chǔ)程丿乩 可帶參數(shù),并返冋一計(jì) 算值。函數(shù)和過(guò)程的結(jié)構(gòu)類似,但必須有一個(gè)RETURN r句,用 于返回函數(shù)值。函數(shù)說(shuō)明要指定函數(shù)名、結(jié)杲值的類型,以及參 數(shù)類型等。建立心儲(chǔ)函數(shù)的語(yǔ)法: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)專家!過(guò)程和函數(shù)中的ill和out 一般來(lái)講,過(guò)程和函數(shù)的區(qū)別在于函數(shù)
6、可 以有一個(gè)返回值:而過(guò)程沒有返回值。但過(guò)程和函數(shù)都可以通過(guò)out指定一個(gè)或 多個(gè)輸出參數(shù)。我們可以利用out參數(shù), 在過(guò)程和函數(shù)中實(shí)現(xiàn)返回多個(gè)值。北京傳智播客教仃C傳智播客 一術(shù)級(jí)軟件人才賣作培訓(xùn)專家!在Java語(yǔ)言中調(diào)用存儲(chǔ)過(guò)程存儲(chǔ)過(guò)程: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ǔ)過(guò)程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語(yǔ)言中調(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ǔ)過(guò)程/存儲(chǔ)函數(shù)?原則:如果只有一個(gè)返回值,用存儲(chǔ)函數(shù);否則,就 用存儲(chǔ)過(guò)程。廠傳廠傳北京傳智播客教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ù)操作語(yǔ)句(Insert,update,delete)在指怎的衣上發(fā)th時(shí),Oracle 0動(dòng)地執(zhí)行觸發(fā)器屮定義的語(yǔ)句序列。觸發(fā)器的類型語(yǔ)句級(jí)觸發(fā)器在指左的操作語(yǔ)句操作Z詢或Z后執(zhí)行次,不管這條語(yǔ)句影響了女少行。行級(jí)觸發(fā)器(FOR EACH ROW)觸發(fā)語(yǔ)句作用的每條記求都被觸發(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ā)語(yǔ)句與偽記錄變量的值紀(jì)發(fā)語(yǔ)句: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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆中建七局秋季校園招聘正式啟動(dòng)“七”待有你共建未來(lái)筆試參考題庫(kù)附帶答案詳解
- 個(gè)人經(jīng)營(yíng)借款合同范本
- 動(dòng)車輪椅租賃合同范本
- 產(chǎn)品代銷售合同范本
- mcn商務(wù)推廣合同范本
- 借款續(xù)約合同范本
- 傳媒行業(yè)培訓(xùn)合同范本
- 武侯衛(wèi)生間補(bǔ)漏施工方案
- 保利地產(chǎn)施工合同范本
- 專利免責(zé)合同范例
- 《駱駝祥子》通讀指導(dǎo)手冊(cè)
- 股東會(huì)會(huì)議系列文件(通知、議程、簽到表、表決票、決議)
- 非法占用農(nóng)田建房舉報(bào)信范文
- 伐樹工程施工合同范本
- 數(shù)據(jù)挖掘(第2版)PPT全套完整教學(xué)課件
- 工程開工報(bào)告(5篇)
- 配電箱試驗(yàn)項(xiàng)目
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第一章運(yùn)動(dòng)技能學(xué)習(xí)與控制概述
- 溫室大棚花卉苗圃采暖方案空氣源熱泵
- BEC商務(wù)英語(yǔ)高級(jí)考試歷年真題
- 初二地理中考復(fù)習(xí)備考策略與計(jì)劃
評(píng)論
0/150
提交評(píng)論