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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PLSQL Language Reference-PL/SQL概覽-PL/SQL架構SQL架構
- PLSQL Language Reference-PL/SQL概覽-PL/SQL語言基礎SQL
- PLSQL Language Reference-PL/SQL概覽-PL/SQL的主要功能SQL
- PLSQL Language Reference-PL/SQL子程式-過載子程式SQL
- PLSQL Language Reference-PL/SQL子程式-PL/SQL函式結果快取(二)SQL函式快取
- PLSQL Language Reference-PL/SQL語言基礎-表示式-PL/SQL表示式中的SQL函式SQL函式
- PLSQL Language Reference-PL/SQL新功能-版本11.1 新功能SQL
- PLSQL Language Reference-PL/SQL新功能-版本11.2.0.1新功能SQL
- PLSQL Language Reference-PL/SQL新功能-版本11.2.0.2新功能SQL
- PLSQL Language Reference-PL/SQL語言基礎-詞彙單元-宣告SQL
- PLSQL Language Reference-PL/SQL子程式-子程式的副作用(side effects)SQLIDE
- PLSQL Language Reference-PL/SQL語言基礎-表示式-BOOLEAN表示式SQLBoolean
- PLSQL Language Reference-PL/SQL語言基礎-表示式-短路計算SQL
- PLSQL Language Reference-PL/SQL語言基礎-詞彙單元-字面量SQL
- PLSQL Language Reference-PL/SQL語言基礎-表示式-操作符優先順序SQL
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-不同的最值大小SQL資料型別
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-使用者定義的PL/SQL子型別SQL資料型別
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-有限制的子型別SQL資料型別
- PLSQL Language Reference-PL/SQL語言基礎-表示式-比較操作符SQL
- PLSQL Language Reference-PL/SQL語言基礎-表示式-邏輯操作符SQL
- PLSQL Language Reference-PL/SQL語言基礎-表示式-連線操作符SQL
- PLSQL Language Reference-PL/SQL子程式-PL/SQL函式結果快取-開啟函式結果快取SQL函式快取
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-LONG和LONG RAW變數SQL資料型別變數
- PLSQL Language Reference-PL/SQL語言基礎-詞彙單元-識別符號引用SQL符號
- PLSQL Language Reference-PL/SQL子程式-過載子程式-子程式過載錯誤SQL
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-ROWID和UROWID變數SQL資料型別變數
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-CHAR和VARCHAR2變數SQL資料型別變數
- PLSQL Language Reference-PL/SQL子程式-過載子程式-不可以過載的子程式SQL
- PLSQL Language Reference-PL/SQL語言基礎-變數賦值-使用SELECT INTO賦值SQL變數賦值
- PLSQL Language Reference-PL/SQL子程式-子程式引數-子程式引數傳遞方法SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-靜態SQL的描述-偽列SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-靜態SQL的描述-語句SQL
- PLSQL Language Reference-PL/SQL語言基礎-條件編譯-條件編譯指令限制SQL編譯
- PLSQL Language Reference-PL/SQL語言基礎-條件編譯-條件編譯舉例SQL編譯
- PLSQL Language Reference-PL/SQL語言基礎-變數賦值-對BOOLEAN變數賦值SQL變數賦值Boolean
- PLSQL Language Reference-PL/SQL語言基礎-詞彙單元-分隔符、識別符號SQL符號
- PLSQL Language Referenc-PL/SQL動態SQL-何時需要動態SQLSQL
- PLSQL Language Referenc-PL/SQL靜態SQL-自治事務(二)SQL