plsql程序設(shè)計(jì)(基礎(chǔ)篇)

plsql程序設(shè)計(jì)(基礎(chǔ)篇)

ID:12397082

大?。?02.00 KB

頁(yè)數(shù):0頁(yè)

時(shí)間:2018-07-16

plsql程序設(shè)計(jì)(基礎(chǔ)篇)_第頁(yè)
預(yù)覽圖正在加載中,預(yù)計(jì)需要20秒,請(qǐng)耐心等待
資源描述:

《plsql程序設(shè)計(jì)(基礎(chǔ)篇)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、PL/SQL程序設(shè)計(jì)(上冊(cè))寫在前面之所以不怕麻煩把有關(guān)PL/SQL的知識(shí)寫下來(lái),一方面,是為了加深理解,便于以后隨時(shí)翻閱,另一方面,是因?yàn)樽约嚎磿偸遣荒軓念^看到尾,仔仔細(xì)細(xì),喜歡跳躍式閱讀,導(dǎo)致學(xué)習(xí)過(guò)程中,容易有遺漏。所以,將學(xué)習(xí)到的知識(shí)總結(jié)起來(lái),方便監(jiān)督自己,方便大家查閱。本文所記錄的內(nèi)容當(dāng)然不是本人憑經(jīng)驗(yàn)而寫,而是學(xué)習(xí)的筆記,參考的資料以《Oracle9iPLSQLFundamentals》和《Oracle9iDevelopPLSQLProgramUnits》為核心,其次,還包括《精通Oracle10gPLSQL編程》

2、和《OraclePLSQLBestPractices》等。由于是學(xué)習(xí)筆記么,說(shuō)是教程,其實(shí)是在吸引大家的注意,呵呵,主要是想在方便大家查閱和入門者入門外,希望大家多多指教,多多提出意見(jiàn),共同把這塊知識(shí)學(xué)熟、學(xué)通、學(xué)透。QuasarWei’sEmail:quasarbrave@gmail.comQuasarWei’sQQ:734089783QuasarWei’sRealName:WeiZhaozheofNEU50目錄PL/SQL程序設(shè)計(jì)(上冊(cè))1第一章認(rèn)識(shí)PL/SQL3第二章SQL回顧5第三章PL/SQL的基本結(jié)構(gòu)7第四章PL/

3、SQL的數(shù)據(jù)類型及使用10第五章流程控制29第六章游標(biāo)35第七章異常處理46第八章下冊(cè)預(yù)知4950第一章認(rèn)識(shí)PL/SQL這一章主要記錄了兩個(gè)問(wèn)題:1什么是PL/SQL?2PL/SQL有什么優(yōu)勢(shì)?下面從這兩個(gè)問(wèn)題展開論述。什么是PL/SQL?PL/SQL即procedurallanguage/standardquerylanguage,PL/SQL是具備程序設(shè)計(jì)語(yǔ)言特性(如:定義變量、流程控制、面向?qū)ο蟮龋┑?、關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)查詢語(yǔ)言SQL的過(guò)程性拓展(proceduralextension)。SQL是非過(guò)程語(yǔ)言,非過(guò)程,讓我理解

4、,就是不用你了解語(yǔ)句的處理過(guò)程,而直接達(dá)到開發(fā)者的目的。如:selectnamefromstudent這條語(yǔ)句,就是向數(shù)據(jù)庫(kù)說(shuō):“我要學(xué)生的姓名”,然后數(shù)據(jù)庫(kù)就會(huì)返回相應(yīng)的字段值而我們并不知道它是如何處理的也基本無(wú)法控制。而PL/SQL語(yǔ)言,則具備程序設(shè)計(jì)語(yǔ)言甚至高級(jí)程序設(shè)計(jì)語(yǔ)言的特點(diǎn),更好地滿足我們對(duì)數(shù)據(jù)的操作。PL/SQL有什么優(yōu)勢(shì)?PL/SQL的優(yōu)勢(shì)可以概括為以下五點(diǎn)(待補(bǔ)充):1具備程序設(shè)計(jì)語(yǔ)言的特性(模塊化、信息隱藏、面向?qū)ο蟮龋?異常處理,PL/SQL具備異常處理的機(jī)制;3可移植,想想Java吧,看看兩者有什么共

5、同之處?PL/SQL的JVM就是OracleServer,呵呵4改善性能,一方面,通過(guò)PL/SQL語(yǔ)句塊(Block)50可以一次性向OracleServer發(fā)送多個(gè)SQL語(yǔ)句,減少網(wǎng)絡(luò)的傳輸;另一方面,有些PL/SQL可以在客戶端執(zhí)行(前提是某些客戶端含有PL/SQL引擎),可以有效的減少與OracleServer的交互;再有,PL/SQL通常會(huì)存儲(chǔ)在Oracle數(shù)據(jù)庫(kù)中,這對(duì)于網(wǎng)絡(luò)程序來(lái)說(shuō)真是天降福音,因?yàn)?,這樣一系列的處理交互,都可以以一個(gè)調(diào)用數(shù)據(jù)庫(kù)本身存在的程序而完成,大大提高了性能。5可以與SQL交互,在PL/SQL

6、中可以嵌入SQL的DML、DQL、TCL(事務(wù)控制語(yǔ)言)語(yǔ)句。50第二章SQL回顧你都開始對(duì)PL/SQL感性趣了,那么SQL肯定是多多少少聽說(shuō)過(guò)的,呵呵,就回顧一些基礎(chǔ)吧,那些拓展的內(nèi)容,建議是遇見(jiàn)了再研究吧。DQL:源碼dql.sql:selectdname,max(sal)--5對(duì)列篩選(分組字段或聚集函數(shù))fromempleftouterjoindept--1確定表using(deptno)wheredeptno>0--2確定行(記錄)groupbydname--3將行分組havingmax(comm)isnullorm

7、ax(comm)>0--4對(duì)組篩選orderbydname--6對(duì)結(jié)果集排序如上的源碼表示了SQL語(yǔ)句的執(zhí)行順序,這個(gè)一定要理解好??!思考題:?jiǎn)栴}:為什么帶有g(shù)roupby的select和having只能含有分組字段和聚集函數(shù)呢?答:因?yàn)間roupby分組后,只能對(duì)組進(jìn)行操作了。也就是說(shuō),無(wú)論你是篩選行having還是列select,都要以組為單位進(jìn)行,所以只能使用組共有的屬性,除了分組字段外,只有像什么每組的最大值啊、最小值啊、平均值啊等等這些組的特性或叫組員共有的特性。50所以在使用時(shí)一定注意,帶有g(shù)roupby后,hav

8、ing和select中只能有-分組字段和聚集函數(shù)DML:insertintovalues就不再重復(fù)了,不過(guò)聽說(shuō)現(xiàn)在可以一次性向多個(gè)表中插入呢,使用insertintoall和insertintofirst,具體用法如下:insertintoall/firstwhen條件the

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。