PLSQL Language Reference-PL/SQL概覽-PL/SQL的優點
PL/SQL概覽
PL/SQL是SQL的過程化擴充套件,是一種便攜的、高效能的過程處理語言。
PL/SQL的優點
與SQL的緊密整合
允許使用所有的SQL資料操作、游標控制、事務控制語句;
所有的SQL函式、操作符和偽列。
支援所有SQL資料型別。不需要在PL/SQL資料型別和SQL資料型別之間進轉換;
可以給PL/SQL資料成員賦與表的列或行的型別,而不需要顯式地指定該種資料型別。
PL/SQL允許執行SQL查詢,一次一個地處理結果集中的行。
PL/SQL支援靜態SQL,也支援動態SQL。
靜態SQL:在編譯時所有文字是確定的。
動態SQL:直到執行時,它的全部文字才能確定。動態SQL可以使應用程式更加靈活和通用。
高效能
PL/SQL是將一個語句塊傳送給資料庫,可以顯著地降低應用程式和資料庫之間的通訊量。
(1)繫結變數
當在PL/SQL程式碼中嵌入insert, update, delete,select這些SQL語句時,PL/SQL編譯器會將where和values子句中的變數轉化為繫結變數。每當相同的程式碼執行時,Oracle可以重用這些SQL語句,這樣可以提高效能。
當使用動態SQL時,PL/SQL不會自動建立繫結變數,但可以通過顯式指定來在動態SQL中使用繫結變數。
(2)子程式
PL/SQL子程式是以可執行的形式被儲存的,可以被重複地呼叫。因為儲存子程式是在資料庫伺服器上執行的,一個通過網路的單獨的呼叫可能會開始一個很大的工作。任務的分開可以降低網路通訊量和提高響應時間。儲存子程式是被快取的且在使用者之間共享,這可以降低記憶體需要和呼叫開銷。
(3)優化器
0 PL/SQL編譯器有個優化器,可以重新組織程式碼取得更好的效能。
高生產力
PL/SQL可以為運算元據寫出緊湊的程式碼。就像PERL一樣的指令碼語言一樣,可以在檔案中讀、轉化和寫資料;PL/SQL可以查詢、轉化和更新資料庫中的資料。
PL/SQL有許多功能可節省設計和除錯的時間,並且它在所有的環境中都是一致的。可以在一個Oracle工具中學習使用PL/SQL,然後可以將知識轉移到其它工具上。例,可以在SQL Developer中建立PL/SQL塊,然後在Oracle窗體觸發器中使用它。
可移植性
可以在任何執行Oracle資料庫的作業系統和平臺上執行PL/SQL程式。
可擴充套件性
PL/SQL儲存子程式通過在資料庫伺服器上集中應用程式處理來提高可擴充套件性。共享伺服器的共享記憶體設施允許Oracle資料庫支援一個節點上的數以千計的併發使用者。
對於更進一步的可擴充套件性,你可以使用Oracle連線管理器來多路傳輸網路連線。
易處理性
因為可以在資料庫伺服器上維護子程式的一個拷貝,而不是每個客戶端一個拷貝。任何數量的應用程式都可以使用這個子程式,可以在不影響呼叫它的應用程式的情況下修改子程式。
支援物件導向程式設計
使用抽象資料型別(ADT)來支援物件導向程式設計。
支援Web應用開發
PL/SQL可以建立直接從資料庫產生Web頁面的應用程式。可以通過Web來訪問資料庫,可以通過內部網訪問內部資料。
PL/SQL Web應用程式程式設計流程類似於CGI PERL指令碼。開發者通常使用CGI指令碼來動態產生Web頁面,但這樣的指令碼通常不是訪問資料的最佳選擇。使用PL/SQL儲存子程式來傳遞Web內容提供了資料庫訪問的能力和靈活性。例,可以使用DML語句、動態SQL和游標。這樣也可以避免對每個HTTP請求生成新的CGI程式來處理的開銷。
可以完成使用PL/SQL網狀和PL/SQL Web Tookit來生成基於瀏覽器的Web應用。
PL/SQL閘道器允許Web瀏覽器通過HTTP監聽呼叫PL/SQL儲存子程式。mod_plsql是PL/SQL閘道器的一個實現,是Oracle HTTP Server的一個外掛,允許Web瀏覽器呼叫PL/SQL儲存子程式。
PL/SQL Web Tookit是一個PL/SQL包的集合,提供了通過mod_plsql在執行時使用儲存子程式的通用介面。
支援伺服器頁面開發
PL/SQL Server Pages(PSPs)允許開發帶有動態內容的web頁面。PSPs是編寫儲存子程式的一種替代,每次為web頁面寫一行html程式碼。
特定的標籤允許在html程式碼中嵌入PL/SQL指令碼。在客戶端如瀏覽器請求頁面時指令碼執行。指令碼可以接受引數,查詢和更新資料庫,然後顯示一個自定義的頁面來展示結果。
在開發過程中,PSPs的行為像一個模板,擁有頁面佈局的靜態部分和內容的動態部分。可以使用喜愛的HTML權威工具設計頁面佈局,為動態內容留有點位符。然後可以使用PL/SQL指令碼產生內容。結束後,可以以儲存子程式形式將PSP檔案載入到資料庫上。來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1101952/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PL/SQL 宣告SQL
- Oracle PL/SQLOracleSQL
- Apache-Flink深度解析-SQL概覽ApacheSQL
- PL/SQL基本結構---PLSQL複合型別---表型別變數tableSQL型別變數
- SQL Server中的高可用性概覽SQLServer
- pl/sql to_dateSQL
- PL/SQL 運算子SQL
- PL/SQL 條件SQL
- PL/SQL 迴圈SQL
- PL/SQL 遊標SQL
- [20240607]PL/SQL中sql語句的註解.txtSQL
- Oracle 的PL/SQL語言使用OracleSQL
- Oracle PL/SQL塊簡介OracleSQL
- ultraedit高亮顯示pl/sqlSQL
- plsql developer工具生成sql monitor reportSQLDeveloper
- SQL Server 2016關係型資料庫概覽AZSQLServer資料庫
- PL/SQL 條件控制語句SQL
- PL/SQL程式設計急速上手SQL程式設計
- Oracle PL/SQL程式碼中的註釋OracleSQL
- pl/sql developer的一個小問題SQLDeveloper
- 【TUNE_ORACLE】列出LOOP套LOOP的PL/SQL程式碼SQL參考OracleOOPSQL
- 使用profiler測試Oracle PL/SQL效能OracleSQL
- Oralce之PL/SQL程式設計(遊標)SQL程式設計
- OCP 複習筆記之PL/SQL (1)筆記SQL
- PL/SQL第二章--基本語法SQL
- PL/SQL第三章--游標SQL
- OCP 複習筆記之PL/SQL (3)筆記SQL
- 6.4. PL/SQL語法——6.4.7. 集合SQL
- OCP 複習筆記之PL/SQL (2)筆記SQL
- OCP 複習筆記之PL/SQL (4)筆記SQL
- OCP 複習筆記之PL/SQL (5)筆記SQL
- ORA-06544:PL/SQL:internal error,arguments:[56319]SQLError
- SQL、NoSQL和NewSQL的優缺點比較SQL
- SQL Server儲存過程的優缺點SQLServer儲存過程
- 使用PL/SQL找到兩個表中的相似值FKSQL
- Oracl資料庫+PL/SQL安裝與配置資料庫SQL
- PL/SQL Developer連線到Oracle 12cSQLDeveloperOracle
- openGauss關於PL/SQL匿名塊呼叫測試SQL
- 【OracleEBS】 在PL/SQL中呼叫Oracle ERP請求OracleSQL