版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Version 3.0第六章第六章第五章第五章 - - Oracle 中的中的 OOP 概念概念 面向?qū)ο蟮墓δ苊嫦驅(qū)ο蟮墓δ芊庋b、多態(tài)和繼承封裝、多態(tài)和繼承 Oracle 支持各種各樣的對(duì)象支持各種各樣的對(duì)象 抽象數(shù)據(jù)類型是包含一種或多種子類型的數(shù)據(jù)類型抽象數(shù)據(jù)類型是包含一種或多種子類型的數(shù)據(jù)類型 可變數(shù)組允許在單個(gè)行中存儲(chǔ)某個(gè)記錄的重復(fù)屬性可變數(shù)組允許在單個(gè)行中存儲(chǔ)某個(gè)記錄的重復(fù)屬性 嵌套表是表中的表。表在另一個(gè)表中被表示為行嵌套表是表中的表。表在另一個(gè)表中被表示為行 嵌套表對(duì)條目數(shù)沒有限制嵌套表對(duì)條目數(shù)沒有限制 對(duì)象視圖允許在僅使用關(guān)系表的應(yīng)用程序中實(shí)現(xiàn)面對(duì)象視圖允許在僅使用關(guān)系表的應(yīng)用
2、程序中實(shí)現(xiàn)面向?qū)ο蟮母拍钕驅(qū)ο蟮母拍?行對(duì)象不是嵌入對(duì)象行對(duì)象不是嵌入對(duì)象 PL/SQL 簡(jiǎn)介簡(jiǎn)介 數(shù)據(jù)類型及其用法數(shù)據(jù)類型及其用法 邏輯比較邏輯比較 控制結(jié)構(gòu)控制結(jié)構(gòu) 錯(cuò)誤處理簡(jiǎn)介錯(cuò)誤處理簡(jiǎn)介 PL/SQL 代表代表 Procedural Language/SQL(Procedural Language:過程語言)過程語言) 它是對(duì)它是對(duì) SQL 的擴(kuò)展的擴(kuò)展 PL/SQL 中存在過程構(gòu)造和數(shù)據(jù)庫(kù)訪問中存在過程構(gòu)造和數(shù)據(jù)庫(kù)訪問 在在 Oracle 服務(wù)器和客戶機(jī)應(yīng)用程序中使用服務(wù)器和客戶機(jī)應(yīng)用程序中使用 支持大型對(duì)象和集合支持大型對(duì)象和集合 支持對(duì)象類型和集合支持對(duì)象類型和集合 調(diào)用外部函數(shù)
3、和過程調(diào)用外部函數(shù)和過程 支持支持 SQL 支持支持 OOP 更高生產(chǎn)率更高生產(chǎn)率 更佳性能更佳性能 可移植性可移植性 與與 Oracle 集成在一起集成在一起 嚴(yán)密的安全性嚴(yán)密的安全性SQL 語句執(zhí)行器語句執(zhí)行器主程序或主程序或 ORACLE 工具工具匿名匿名 PL/SQL 塊塊匿名匿名 PL/SQL 塊塊過程語句過程語句執(zhí)行器執(zhí)行器ORACLE 服務(wù)器服務(wù)器PL/SQL 引擎引擎過程語句過程語句SQL語句語句 PL/SQL 引擎是主要組件,它駐留在引擎是主要組件,它駐留在 Oracle 服務(wù)器中服務(wù)器中 PL/SQL 引擎引擎處理處理 PL/SQL 塊并將其分離為塊并將其分離為 SQL 語
4、句及過程語句語句及過程語句將過程語句發(fā)送到過程語句執(zhí)行器以將過程語句發(fā)送到過程語句執(zhí)行器以進(jìn)行處理進(jìn)行處理將將 SQL 語句發(fā)送到語句發(fā)送到 SQL 語句執(zhí)行器語句執(zhí)行器以進(jìn)行處理以進(jìn)行處理 它包括一組語句它包括一組語句 PL/SQL 程序中的基本單元程序中的基本單元 將相關(guān)的聲明和語句進(jìn)行邏輯分組將相關(guān)的聲明和語句進(jìn)行邏輯分組 聲明對(duì)于塊是局部的聲明對(duì)于塊是局部的在塊完成之后,將超出范圍在塊完成之后,將超出范圍 PL/SQL 的各個(gè)組成部分的各個(gè)組成部分 聲明部分聲明部分 可執(zhí)行部分可執(zhí)行部分 異常處理部分異常處理部分 PL/SQL 塊的結(jié)構(gòu)塊的結(jié)構(gòu)DECLARE DECLARE decla
5、rationsdeclarationsBEGIN BEGIN executable statementsexecutable statements EXCEPTIONEXCEPTION handlershandlersEND;END;其中,其中,declarationsdeclarations 是聲明,是聲明,executableexecutable statementsstatements 是可執(zhí)行語句,是可執(zhí)行語句,handlershandlers 是處理是處理程序。程序。 數(shù)據(jù)的臨時(shí)存儲(chǔ)數(shù)據(jù)的臨時(shí)存儲(chǔ) 在聲明部分中聲明在聲明部分中聲明 可以在可以在 SQL 語句和過程語句中使用語句和過程
6、語句中使用 在可執(zhí)行部分中賦予新值在可執(zhí)行部分中賦予新值 使用變量的優(yōu)點(diǎn)使用變量的優(yōu)點(diǎn) 可重用性可重用性 易于維護(hù)易于維護(hù) 內(nèi)置數(shù)據(jù)類型內(nèi)置數(shù)據(jù)類型 標(biāo)量標(biāo)量 復(fù)合復(fù)合 引用引用 LOB 標(biāo)量標(biāo)量 容納單個(gè)值容納單個(gè)值 沒有內(nèi)部組成沒有內(nèi)部組成 分為四個(gè)類別:分為四個(gè)類別: NUMBER CHARACTER DATE BOOLEAN Number 類型類型 用于存儲(chǔ)和操縱數(shù)字?jǐn)?shù)據(jù)用于存儲(chǔ)和操縱數(shù)字?jǐn)?shù)據(jù) Number 類型是:類型是: BINARY_INTEGER NUMBER子類型是子類型是 DEC、DECIMAL、DOUBLE PRECISION、FLOAT、INTEGER、INT、NUME
7、RIC、REAL、SMALLINT PLS_INTEGER Character 類型類型 CHAR VARCHAR2 RAW LONG 和和 LONG RAW ROWID 和和 UROWID 區(qū)域字符類型區(qū)域字符類型 NCHAR NVARCHAR2 Datetime 和和 Interval 類型類型 DATE TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE INTERVAL YEAR TO MONTH INTERVAL DAY TO SECOND BOOLEAN 類型類型 用于存儲(chǔ)邏輯值(用于存儲(chǔ)邏輯值(TRU
8、E、FALSE 和和 NULL) 不接受任何參數(shù)不接受任何參數(shù) 不能向數(shù)據(jù)庫(kù)中插入不能向數(shù)據(jù)庫(kù)中插入 BOOLEAN 數(shù)據(jù)數(shù)據(jù) 不能將列值提取或選擇到不能將列值提取或選擇到 BOOLEAN 變量變量中中 只允許對(duì)只允許對(duì) BOOLEAN 變量執(zhí)行邏輯操作變量執(zhí)行邏輯操作 組合類型組合類型 RECORD VARRAY NESTED TABLE LOB 類型類型 BLOB CLOB NCLOB BFILE 引用類型引用類型 REF CURSOR REF操作符操作符 屬性屬性 引用數(shù)據(jù)庫(kù)中的數(shù)據(jù)類型和對(duì)象引用數(shù)據(jù)庫(kù)中的數(shù)據(jù)類型和對(duì)象 PL/SQL 變量和常量可以具有屬性變量和常量可以具有屬性 屬性的
9、類型屬性的類型 %type引用數(shù)據(jù)庫(kù)列引用數(shù)據(jù)庫(kù)列 %rowtype代表表中的行代表表中的行 PL/SQL 支持支持 SQL 和和 PL/SQL 中變量和常中變量和常量的比較(稱為量的比較(稱為“布爾表達(dá)式布爾表達(dá)式”) 布爾表達(dá)式的類型有:布爾表達(dá)式的類型有: 數(shù)值型數(shù)值型 字符型字符型 日期型日期型 數(shù)值型布爾表達(dá)式數(shù)值型布爾表達(dá)式 比較數(shù)值比較數(shù)值 下表說明這一點(diǎn):下表說明這一點(diǎn): 字符型布爾表達(dá)式字符型布爾表達(dá)式 比較用引號(hào)括起來的序列或單個(gè)比較用引號(hào)括起來的序列或單個(gè)字符字符 下表說明這一點(diǎn):下表說明這一點(diǎn): 運(yùn)算符運(yùn)算符 含義含義示例示例=等于name = MARK!=不等于pro
10、duct != computer按字母順序排在其前 name1 按字母順序排在其后 name1 name2=按字母順序排在其前或等于 name2 =按字母順序排在其后或等于 name3 = name4 日期型布爾表達(dá)式日期型布爾表達(dá)式 比較兩個(gè)日期比較兩個(gè)日期 下表說明這一點(diǎn):下表說明這一點(diǎn): 運(yùn)算符運(yùn)算符含義含義示例示例=等于Odate = 12-Jan-74!=不等于Odate != 14 Feb - 88早于 Odate 晚于 Odate 30 jun - 77=早于或等于 next_day(odate, 6)=晚于或等于 odate = 25-DEC-67 控制流語句控制流語句 條件控
11、制條件控制 迭代控制迭代控制 順序控制順序控制 條件控制條件控制 基于條件執(zhí)行語句基于條件執(zhí)行語句 類型:類型:if then、if then else、if then elsif 和和 CASE 語句語句 迭代控制迭代控制 簡(jiǎn)單循環(huán)簡(jiǎn)單循環(huán) WHILE 循環(huán)循環(huán) FOR 循環(huán)循環(huán) 順序控制順序控制 GOTO 語句語句 NULL 語句語句 PL/SQL 中的錯(cuò)誤條件稱為異常中的錯(cuò)誤條件稱為異常 有兩種類型的異常:有兩種類型的異常: 預(yù)定義的預(yù)定義的 用戶定義的用戶定義的 當(dāng)在當(dāng)在 PL/SQL 程序中出現(xiàn)錯(cuò)誤時(shí),將程序中出現(xiàn)錯(cuò)誤時(shí),將引發(fā)異常引發(fā)異常 在出現(xiàn)錯(cuò)誤時(shí),正常執(zhí)行將停止,控在出現(xiàn)錯(cuò)誤
12、時(shí),正常執(zhí)行將停止,控制權(quán)轉(zhuǎn)移到異常處理部分制權(quán)轉(zhuǎn)移到異常處理部分 預(yù)定義的異常預(yù)定義的異常 PL/SQL 程序違反程序違反 Oracle 規(guī)則時(shí),將隱式引規(guī)則時(shí),將隱式引發(fā)它發(fā)它 用戶定義的異常用戶定義的異常 由由 raise 語句顯式引發(fā)語句顯式引發(fā) 只能在只能在 PL/SQL 塊的聲明部分中聲明塊的聲明部分中聲明 PL/SQL 代表代表 procedural language/SQL(procedural language:過程語言)過程語言) PL/SQL 是一種塊結(jié)構(gòu)的語言是一種塊結(jié)構(gòu)的語言 將將 SQL 的數(shù)據(jù)操縱功能與過程語言的數(shù)的數(shù)據(jù)操縱功能與過程語言的數(shù)據(jù)處理功能結(jié)合在一起據(jù)
13、處理功能結(jié)合在一起 允許我們使用所有允許我們使用所有 SQL DML、TCL、SQL 函數(shù)和運(yùn)算符函數(shù)和運(yùn)算符 PL/SQL 引擎執(zhí)行引擎執(zhí)行 PL/SQL 塊塊 PL/SQL 支持所有支持所有 SQL 數(shù)據(jù)類型和數(shù)據(jù)類型和 ANSI 標(biāo)標(biāo)準(zhǔn)類型準(zhǔn)類型 PL/SQL 塊的三個(gè)組成部分是:聲明部分、塊的三個(gè)組成部分是:聲明部分、可執(zhí)行部分和異常處理部分可執(zhí)行部分和異常處理部分 變量和常量是在聲明部分中聲明的變量和常量是在聲明部分中聲明的 LOB 類型用于存儲(chǔ)大型對(duì)象類型用于存儲(chǔ)大型對(duì)象 屬性用于引用數(shù)據(jù)庫(kù)中的數(shù)據(jù)類型和對(duì)象屬性用于引用數(shù)據(jù)庫(kù)中的數(shù)據(jù)類型和對(duì)象 支持對(duì)變量和常量進(jìn)行比較支持對(duì)變量和常量進(jìn)行比較 布爾表達(dá)式的三種類型是布爾表達(dá)式的三種類型是 - - 數(shù)值型、字符型數(shù)值型、字符型和日期型和
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025聯(lián)通數(shù)字科技有限公司校園招聘(112個(gè)崗位)筆試參考題庫(kù)附帶答案詳解(3卷)
- 2025甘肅水投集團(tuán)招聘9人大專往屆可報(bào)筆試參考題庫(kù)附帶答案詳解(3卷)
- 2025浙江嘉興市秀洲區(qū)國(guó)有企業(yè)(功能類)招聘37人筆試參考題庫(kù)附帶答案詳解(3卷合一版)
- 2025江西移動(dòng)2025夢(mèng)想+實(shí)習(xí)生正式啟動(dòng)筆試參考題庫(kù)附帶答案詳解(3卷)
- 2025新疆三新煤業(yè)有限責(zé)任公司市場(chǎng)化招聘80人筆試參考題庫(kù)附帶答案詳解(3卷)
- 2025年陜西郵政春季校園招聘開啟筆試參考題庫(kù)附帶答案詳解(3卷)
- 2025年度中鐵工程裝備集團(tuán)隧道設(shè)備制造有限公司招聘41人(技術(shù)研發(fā)類)筆試參考題庫(kù)附帶答案詳解(3卷)
- 2025年上海青浦工業(yè)園區(qū)發(fā)展(集團(tuán))有限公司自主招聘1人筆試參考題庫(kù)附帶答案詳解(3卷)
- 2025北京國(guó)家金融科技風(fēng)險(xiǎn)監(jiān)控中心有限公司招聘業(yè)務(wù)運(yùn)營(yíng)筆試參考題庫(kù)附帶答案詳解(3卷)
- 2025中化學(xué)西南工程科技有限公司招聘10人筆試參考題庫(kù)附帶答案詳解(3卷)
- 2025-2026學(xué)年人教版高一生物上冊(cè)必修1第1-3章知識(shí)清單
- GB/T 2075-2025切削加工用硬切削材料的分類和用途大組和用途小組的分類代號(hào)
- 2025年超星爾雅學(xué)習(xí)通《創(chuàng)新思維與創(chuàng)新方法》考試備考題庫(kù)及答案解析
- 四川省金太陽2025-2026學(xué)年高三上學(xué)期11月聯(lián)考英語試卷(含答案詳解)
- 血糖儀項(xiàng)目計(jì)劃書
- 電氣工程項(xiàng)目驗(yàn)收規(guī)范及標(biāo)準(zhǔn)
- 種植樹苗管護(hù)合同范本
- 2023年環(huán)評(píng)工程師考試環(huán)境影響評(píng)價(jià)相關(guān)法律法規(guī)講義
- 2025工業(yè)智能體應(yīng)用現(xiàn)狀、挑戰(zhàn)及對(duì)策建議報(bào)告-
- 人工流產(chǎn)術(shù)后宣教
- 《危險(xiǎn)化學(xué)品安全法》知識(shí)培訓(xùn)
評(píng)論
0/150
提交評(píng)論