版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、存儲(chǔ)過(guò)程基礎(chǔ)培訓(xùn),2007年4月,Daya computer systems(成都)limited,簡(jiǎn)介,什么是存儲(chǔ)過(guò)程?要用SQL語(yǔ)句預(yù)先編寫常用或復(fù)雜的任務(wù),以指定的名稱保存這些任務(wù),然后提供與數(shù)據(jù)庫(kù)中定義的存儲(chǔ)過(guò)程相同的服務(wù),只需調(diào)用execute即可自動(dòng)完成命令。存儲(chǔ)過(guò)程的優(yōu)點(diǎn):1 .快速執(zhí)行速度:存儲(chǔ)過(guò)程僅在創(chuàng)建時(shí)編譯,以后不必在每次運(yùn)行存儲(chǔ)過(guò)程時(shí)重新編譯,一般SQL語(yǔ)句將在每次運(yùn)行時(shí)編譯。2.對(duì)多個(gè)表執(zhí)行復(fù)雜的操作(如Update、Insert、Query和Delete)時(shí),可以將此復(fù)雜操作與數(shù)據(jù)庫(kù)提供的事務(wù)處理一起封裝到存儲(chǔ)過(guò)程中。3。存儲(chǔ)過(guò)程可以重用,從而減少數(shù)據(jù)庫(kù)開(kāi)發(fā)人員的工
2、作量。4 .您可以設(shè)置具有高度安全性的用戶,使其只能擁有指定存儲(chǔ)過(guò)程的許可證。1.系統(tǒng)存儲(chǔ)過(guò)程:以sp_開(kāi)始,以便進(jìn)行系統(tǒng)的各種設(shè)置。獲取信息。相關(guān)管理任務(wù)(例如,sp_help獲取有關(guān)分配目標(biāo)的信息2)。擴(kuò)展存儲(chǔ)過(guò)程以XP_開(kāi)頭,然后是操作系統(tǒng)提供的功能,例如exec master.XP _ cmdshell ping 3)。這是存儲(chǔ)過(guò)程、Sqlplus和Sqlplus用戶名/密碼。查看select * from tab表時(shí):可以編輯ed關(guān)聯(lián)字符串| | 查看表的結(jié)構(gòu)desc表名在sql中,字符串單引號(hào)默認(rèn)構(gòu)建可以包含多個(gè)字段,外鍵不能為空。必須在另一個(gè)表格中??梢酝ㄟ^(guò)添
3、加文件名在sqlplus中執(zhí)行plsql語(yǔ)句。使用% %type可以在保存期間將變量定義為與表類型、創(chuàng)建和執(zhí)行相同的變量。創(chuàng)建腳本CREATE PROCEDURE存儲(chǔ)過(guò)程名AS select userid from users order by userid desc執(zhí)行腳本execute procedure存儲(chǔ)過(guò)程名(參數(shù)1,參數(shù)2)、CREATE、CREATE PROCEDURE-初始化參數(shù)變量1 INTEGER :=0;變量2 DATEBEGIN END示例: create procedure Sam . credit(ACC _ no in number,amount in numbe
4、r)as egin update accounts set balance=END附注:注釋為:-,說(shuō)明,V _ TEST :=123可以使用Create or replace procedure語(yǔ)句,該語(yǔ)句的用途是保留以前授予的所有excute權(quán)限。IN、OUT和IN OUT用于修改參數(shù)。IN :表示調(diào)用方指定值,然后接收并處理。OUT:表示PRCEDURE通過(guò)此變量將值返回給調(diào)用方。IN OUT:是兩種組合。變量賦值:例如V _ TEST :=123,變量SELECT INTO STATEMENT,在變量中存儲(chǔ)SELECT查詢結(jié)果,可以同時(shí)存儲(chǔ)多個(gè)列,必須有一條記錄,否則引發(fā)異常錯(cuò)誤(未出
5、現(xiàn)NO_DATA_FOUND時(shí))。示例:BEGIN SELECT col1exception when no _ data _ found then xxxx;END.示例,create or replace procedure get _ news as aa number;begin select count(*)into aa from cf _ news;DBMS _ output . put _ line(aa=| | aa);End、IF、IF條件THEN BEGIN do something ENDEND IF,null語(yǔ)句,if(true)then null;End if、wh
6、ile、WHILE條件LOOP BEGIN do something ENDEND LOOP使用、cursor、for in使用cursor.is cur is select * from XXXbegin for cur _ result in cur loop opencur _ result;-光標(biāo)v _ sum :=cur _ result。列名1cur _ result。列名2 ENDEND LOOPClose cur _ result;-封閉光標(biāo)端點(diǎn);具有參數(shù)的cursor,具有參數(shù)的cursor c _ user(c _ id number)is select name from
7、 user where typeid=c _ id;OPEN C_USER(變量值);LOOP FETCH C _ USER INTO V _ NAMEEXIT FETCH C _ USER % NOTFOUNDDo something END LOOPCLOSE C _ USER,返回值,存儲(chǔ)過(guò)程的三個(gè)返回值: 1。Return,整數(shù)2。以output格式返回參數(shù)3。Recordset差異: output和return在批處理程序中作為變量接收,recordset被傳遞回正在運(yùn)行批處理的客戶端進(jìn)行調(diào)試。1、在sqlplus上運(yùn)行“set serveroutput on”命令2時(shí),在保存過(guò)程中
8、執(zhí)行DBMS_OUTPUT。PUT_LINE(VarName)可用。您可以使用第三方工具(如Pl/Sql Developer,如create or replace procedure test is EMP _ name varchar 2(10)打印3。cursor C1 is select ename from EMP where dept no=20;BEGIN OPEN C1LOOP FETCH C1 INTO Emp _ nameEXIT WHEN c1 % NOTFOUNDDBMS_OUTPUT。PUT _ LINE(Emp _ name);END LOOP結(jié)束測(cè)試;練習(xí)、1、表1
9、:無(wú)數(shù)據(jù)的比率表格式字段如下所示:IdInt(觸發(fā)器,設(shè)置自動(dòng)增加)字冠char(20)(關(guān)鍵字)默認(rèn)貨幣時(shí)間Int默認(rèn)費(fèi)用int貨幣間隔int貨幣費(fèi)用int觸發(fā)器名稱:trig_id表2: source _ fee(與sysfee相同1、如果過(guò)程參數(shù)要求輸入目標(biāo)表名2、目標(biāo)表名,則會(huì)在保存過(guò)程中自動(dòng)創(chuàng)建sysfee格式的目標(biāo)表,并將source_fee中的數(shù)據(jù)自動(dòng)導(dǎo)入到目標(biāo)表中。sequence,1,自動(dòng)累計(jì)功能create sequence AAAA minvalue 1 max value 999999999999999999999999 start with 1 increment by 1 nocache;trigger,2,trigger實(shí)施-存儲(chǔ)過(guò)程create or replace trigger trg _ insert before insert on table for each row declare begin if inserting templateEnd ifEnd trg _ insert,參考答案,create or replace procedure AAA(v _ tname
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年閩江學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試備考試題及答案解析
- 2026年科爾沁藝術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試備考試題及答案解析
- 2026年安徽現(xiàn)代信息工程職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試參考題庫(kù)及答案解析
- 2026年廣東農(nóng)工商職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試備考試題及答案解析
- 2026年河源職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試備考題庫(kù)及答案解析
- 期末考試國(guó)旗下演講稿
- 2026年河北建材職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試模擬試題及答案解析
- 2026年重慶對(duì)外經(jīng)貿(mào)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試模擬試題及答案解析
- 2026年湖南中醫(yī)藥高等??茖W(xué)校單招職業(yè)適應(yīng)性考試模擬試題及答案解析
- 2026年阿拉善職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試模擬試題及答案解析
- 2025下半年貴州遵義市市直事業(yè)單位選調(diào)56人考試筆試參考題庫(kù)附答案解析
- 2025年淮北市相山區(qū)公開(kāi)招考村(社區(qū))后備干部66名筆試考試參考試題及答案解析
- 2025年貴州錦麟化工有限責(zé)任公司招聘?jìng)淇碱}庫(kù)及一套參考答案詳解
- 2025年石家莊市公安局鹿泉分局公開(kāi)招聘留置看護(hù)警務(wù)輔助人員30人的備考題庫(kù)有答案詳解
- 【數(shù) 學(xué)】2025-2026學(xué)年北師大版七年級(jí)數(shù)學(xué)上冊(cè)期末綜合提升卷III
- 車輛運(yùn)營(yíng)托管協(xié)議書(shū)
- 文創(chuàng)創(chuàng)業(yè)IP打造與產(chǎn)品變現(xiàn)實(shí)戰(zhàn)方案2026年
- 2025年云南省人民檢察院聘用制書(shū)記員招聘(22人)筆試考試備考試題及答案解析
- 遼寧省名校聯(lián)盟2025年高三12月份聯(lián)合考試英語(yǔ)試卷(含答案詳解)
- 基于遙感技術(shù)的湘西土家族苗族自治州石漠化動(dòng)態(tài)監(jiān)測(cè)與深度解析
- 2025年本溪輔警招聘考試真題及答案詳解(典優(yōu))
評(píng)論
0/150
提交評(píng)論