

PL/SQL技術(shù)及應用
- 期刊名字:城市建設理論研究(電子版)
- 文件大?。?85kb
- 論文作者:張璐
- 作者單位:大慶頭臺油田開(kāi)發(fā)有限責任公司
- 更新時(shí)間:2020-06-12
- 下載次數:次
PL/SQL技術(shù)及應用大慶頭臺油田開(kāi)發(fā)有限責任公司黑龍江大慶163517摘要:給出了PL/SQL的概念和基本結構及技術(shù),介紹了 PL/SQL的塊結構和游標、包技術(shù)及基本的語(yǔ)法規則,并結開(kāi)發(fā)的實(shí)例進(jìn)一步對PL/SQL的技術(shù)和規則進(jìn)行了闡述關(guān)健詞:PL/SQL, OracleAbstract: given the Pl/SQL concept and basic structure and technology introduces the py/sQL block structure andcursor, bag technology and the basic grammar rules, and the further development and an example of PL/SQLKeywords: PL/SQL, Oracle中圖分類(lèi)號:TU74文獻標識碼:A文章編號:由于油田信息化的發(fā)展,油田開(kāi)發(fā)越來(lái)越依賴(lài)于開(kāi)發(fā)數據,這就意味著(zhù)要求開(kāi)發(fā)數據要具有更高的存儲、查詢(xún)、轉化的能力,而傳統的dbf數據庫已不能適用油田開(kāi)發(fā)的需要, Oracle數據庫因為有強大的數據庫管理功能,逐漸取代了傳統的dbf數據庫,并在油田各采油廠(chǎng)被廣泛的使用和積極的推廣。如何管理和使用 Oracle數據庫,我們引入了PL/SQL. Developer軟件。PL/SL基本概念PL/SQL也是一種程序語(yǔ)言,是 Oracle數據庫對SQL語(yǔ)句的擴展。在普通SQL語(yǔ)句的使用上增加了編程語(yǔ)言的特點(diǎn),所以PL/sQL就是把數據操作和査詢(xún)語(yǔ)句組織在PL/SsωL代碼的過(guò)程性單元中,通過(guò)邏輯判斷、循環(huán)等操作實(shí)現復雜的功能或者計算的程序語(yǔ)言。使用PL/sαL可以編寫(xiě)具有很多高級功能的程序,雖然通過(guò)多個(gè)SQL語(yǔ)句可能也能實(shí)現同樣的功能,但是相比而言,PL/SQL具有更為明顯的一些優(yōu)點(diǎn)(1)能夠使一組SQL語(yǔ)句的功能更具模塊化程序特點(diǎn)(2)采用了過(guò)程性語(yǔ)言控制程序的結構(3)可以對程序中的錯誤進(jìn)行自動(dòng)處理,使程序能夠在遇到錯誤的時(shí)候不會(huì )被中斷。(6)具有較好的可移植性,可以移植到另一個(gè) Oracle數據庫中。(7)集成在數據庫中,調用更快8)減少了網(wǎng)絡(luò )的交互,有助于提高程序性能二、PL/SoL程序的基本結構及技術(shù)2.1塊PL/SQL是一種塊結構的語(yǔ)言,組成PL/SQL程序的單元是邏輯塊,一個(gè)PL/SQL程序包含了一個(gè)或多個(gè)邏輯塊每個(gè)塊都可以劃分為三個(gè)部分。(1)塊的三個(gè)部分。①聲明部分( Dec larat ion section):包含了變量和常量的數據類(lèi)型和初始值。這個(gè)部分是由關(guān)鍵字 DECLARE開(kāi)始,如果不需要聲明變量或常量,那么可以忽略這一部分。②執行部分( Executable section):執行部分是PL/SL塊中的指令部分,由關(guān)鍵字 BEGIN開(kāi)始,所有的可執行語(yǔ)句都放在這一部分,其他的PL/SQL塊也可以放在這一部分。③異常處理部分( Except ion section):這一部分是可選的,在這一部分中處理異?;蝈e誤,對異常處理的詳細討論在后面進(jìn)行。(2)塊語(yǔ)。PL/SQL塊語(yǔ)法結構:[ DECLARE]; Declaration statements; BEGIN; Executable Statements:[ EXCEPTIONException Handlers]; ENDPL/SQL塊中的每一條語(yǔ)句都必須以分號結束,SQL語(yǔ)句可以多行,但分號表示該語(yǔ)句的結束。一行中可以有多條SQL語(yǔ)句,他們之間以分號分隔。每一個(gè)PL/SQL塊由 BEGIN或 DECLARE開(kāi)始,以END結束。注釋由一標示2.2游標(1)概念。用來(lái)査詢(xún)數據庫,獲取記錄集合(結果集)的指針,可以讓開(kāi)發(fā)者一次訪(fǎng)問(wèn)一行結果集,在每條結果集上作操作(2)分類(lèi)。靜態(tài)游標分為顯式游標和隱式游標。REF游標是一種引用類(lèi)型,類(lèi)似于指針3)內容。顯式游標: CURSOR游標名(參數)[返回值類(lèi)型] Is Select語(yǔ)句:生命周期:打開(kāi)游標(OPEN:解析,綁定。不會(huì )從數據庫檢索數據;從游標中獲取記錄( FETCH INT0),執行査詢(xún),返回結果集。通常定義局域變量作為從游標獲取數據的緩沖區;關(guān)閉游標(CL0SE),完成游標處理,用戶(hù)不能從游標中獲取行。還可以重新打開(kāi)。隱式游標:我們可以使用for循環(huán)來(lái)對游標進(jìn)行隱式處理。For循環(huán)中變量νtest不需要在聲明部分聲明,它由PS劬Lλ編譯器進(jìn)行隱式的聲明。并且for循環(huán)開(kāi)始的時(shí)候,游標也就隱式地打開(kāi)了。顯式和隱式游標的區別:盡量使用隱式游標,避免編寫(xiě)附加的游標控制代碼(聲明,打開(kāi),獲取,關(guān)閉),也不需要聲明變量來(lái)保存從游標中獲取的數據。中國煤化工2.3包CNMHG包它是有包規范和包體兩部分組成的,當建立包時(shí),需要先建立包規范,再建立包體1)建立包規范。包規范實(shí)際是包與應用程序之間的接口,它用于定義包的公用組件,包括常量、變量、游標。過(guò)程和函數等再包規范中所定義的公用組件不僅可以再包內引用,而且也可以由其他的子程序引用。也就是說(shuō)再包規范中所定義的公用組件是公開(kāi)的、是可以被其他的程序所調個(gè)角度說(shuō),為了實(shí)現信息的隱藏,不應該將所有組件全部放在包規范處定義,而應該只定義想對其他用戶(hù)公開(kāi)的組件即公用組件。(2)建立包體。包體用于實(shí)現過(guò)程和函數,包括用于實(shí)現包規范所定義的過(guò)程和函數。建立包體時(shí),也可以單獨定義私有的組件,包括變量、常量、過(guò)程和函數等,但再包體中所定義的私有組件只能再包內使用,而不能由其他子程序引用3)包技術(shù)優(yōu)點(diǎn)。便于管理:在開(kāi)始編程時(shí),便為每個(gè)項目建立一個(gè)相應的包,并且包的名稱(chēng)即為項目名稱(chēng)。這樣在項目開(kāi)發(fā)和日后的維護上,開(kāi)發(fā)和管理人員會(huì )很方便的找到項目的對應程序。不會(huì )因時(shí)間或其他人員接手而產(chǎn)生在庫中無(wú)處可尋項目程序的情況。有助于信息的隱藏:只在包規范中對一些想對外公開(kāi)的組件進(jìn)行定義,這樣就對開(kāi)發(fā)人員所編寫(xiě)的算法進(jìn)行了保護,保護住了算法的私有性就保護住了開(kāi)發(fā)軟件的技術(shù)核心,因為一個(gè)軟件的最重要的就是它的算法,軟件公司賣(mài)的實(shí)質(zhì)也是軟件的算法。這樣使用包技術(shù)就有效的保護了知識產(chǎn)權。三、PL/SoL的基本語(yǔ)法在寫(xiě)PL/SQL語(yǔ)句是,必須遵循一些基本的語(yǔ)法,PL/SQL程序代碼的基本語(yǔ)法要求(1)語(yǔ)句可以寫(xiě)在多行,就像SQL語(yǔ)句一樣(2)各個(gè)關(guān)鍵字、字段名稱(chēng)等等,通過(guò)空格分隔(3)每條語(yǔ)句必須以分號結束,包括PL/SQL結束部分的END關(guān)鍵字后面也需要分號4)標識符需要遵循相應的命名規定。名稱(chēng)最多可以包含30個(gè)字符:不能直接使用保留字,如果需要需要使用雙引號括起來(lái);第一個(gè)字符必須以字母開(kāi)始;不要與數據庫的表或者科學(xué)計數法表示。四、PL/SQL實(shí)例PROCeduRE P jshscl( p km VaRChar2)IS-計算核實(shí)產(chǎn)量cursor mcu is select dwdm, bh jhfrom t scrbzdwhere gxsj = v mareordebegindelete from tz djy jsj where rqv rq and km=p km;FOR emp rec In mcu LOOPp djs( emp rec. bh jh,pkm):-提取油井單井數據pfhs( emp rec.dwdm);-批分核實(shí)p hphs( eimp rec.dwdm):-回配ert into tz djy jsj select* from tz djy jsc:-生成油井單井數據表commitEND LOOPend p jshs五、總結PL/SQL為客戶(hù)和服務(wù)器應用程序的服務(wù)器建了一個(gè)語(yǔ)言和使用的橋梁,為 Oracle的數據開(kāi)發(fā)提供了一個(gè)軟件平臺,為Oracle數據的使用提供了一個(gè)服務(wù)平臺。PL/ SQL Developer軟件為油田 Oracle的數據庫的管理和軟件的開(kāi)發(fā)提供了保障參考文就[1]劉榮華等. Oracle數據庫管理與應用系統開(kāi)發(fā)[M].人民郵電出版社,2006.[2]胡欣杰. Oracle9i數據庫管理員指南[M].北京希望電子出版社,2002[3]王海亮.精通 Oracle10g pl/sq1[M].編程中國水利水電出版社,2004中國煤化工CNMHG
-
C4烯烴制丙烯催化劑 2020-06-12
-
煤基聚乙醇酸技術(shù)進(jìn)展 2020-06-12
-
生物質(zhì)能的應用工程 2020-06-12
-
我國甲醇工業(yè)現狀 2020-06-12
-
JB/T 11699-2013 高處作業(yè)吊籃安裝、拆卸、使用技術(shù)規程 2020-06-12
-
石油化工設備腐蝕與防護參考書(shū)十本免費下載,絕版珍藏 2020-06-12
-
四噴嘴水煤漿氣化爐工業(yè)應用情況簡(jiǎn)介 2020-06-12
-
Lurgi和ICI低壓甲醇合成工藝比較 2020-06-12
-
甲醇制芳烴研究進(jìn)展 2020-06-12
-
精甲醇及MTO級甲醇精餾工藝技術(shù)進(jìn)展 2020-06-12