[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 數據庫 > 其它 > 正文
PostgreSQL7.0手冊-用戶手冊-10. PL/pgSQL - SQL 過程語言
編譯:何偉平 laser@zhengmai.com.cn (2001-04-21 21:28:45)
第十章. PL/pgSQL - SQL 過程語言

概述 
描述 
例子 


PL/pgSQL 是 Postgres 數據庫系統的一個可裝載的過程語言. 
這個包最初是 Jan Wieck 寫的. 
概述
PL/pgSQL 的設計目標是創建一種可裝載的過程語言,可以 
可用創建函數和觸發器過程, 
為 SQL 語言增加控制結構, 

可以執行復雜的計算, 

繼承所有用戶定義類型,函數和操作符, 

可以定義為被服務器信任(的語言), 

容易使用.

PL/pgSQL 函數第一次被端調用時,PL/pgSQL 的調用控制器分析函數源文本生成二進制指令樹.所生成的字節碼在調用控制器裡是用函數的對象標識來標記的.這樣就保証如果使用 DROP/CREATE 序列修改了函數,不需要建立一個新的數據庫聯接就能令修改生效. 
對函數裡用到的所有表達式和 SQL 語句,PL/pgSQL 字節碼解析器使用 SPI 管理器 SPI_prepare() 和 SPI_saveplan() 函數創建一個準備好了的執行規劃.這些動作是在(解析器)第一次處理時完成的,獨立的語句是在 PL/pgSQL 函數裡面處理的.因此,一個帶有條件代碼的有許多語句的需要執行規劃的函數,將只準備和保存那些在整個數據庫聯接周期內真正使用到的規劃. 

除了用用戶定義類型的輸入/輸出轉換和計算函數以外,任何可以在 C 語言函數裡定義的東西都可以在 PL/pgSQL 裡使用.我們可以創建復雜的條件計算函數,並隨將之用定義操作符或者用函數索引中.


--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

描述
PL/pgSQL 的結構
PL/pgSQL 語言是大小寫不敏感的語言.所有關鍵字和標識都可以混合大小寫使用. 
PL/pgSQL 是一種面向塊的語言.一個塊象下面這樣定義 

[<
    進入【UNIX論壇

相關文章
PostgreSQL7.0手冊-附錄-文檔 (2001-04-21 23:50:44)
PostgreSQL7.0手冊-附錄-日期/時間支持-CVS 倉庫 (2001-04-21 23:48:48)
PostgreSQL7.0手冊-教程 -73. Postgres SQL 高級特性 (2001-04-21 23:45:36)
PostgreSQL7.0手冊-教程 -72. 查詢語言 (2001-04-21 23:44:40)
PostgreSQL7.0手冊-教程 -71. 開始 (2001-04-21 23:42:54)
PostgreSQL7.0手冊-教程 -70. 體系結構 (2001-04-21 23:41:58)
PostgreSQL7.0手冊-教程 -69. SQL (2001-04-21 23:41:23)
PostgreSQL7.0手冊-開發者手冊 -68. 分頁文件 (2001-04-21 23:39:22)
PostgreSQL7.0手冊-開發者手冊 -67. 端接口 (2001-04-21 23:38:34)
PostgreSQL7.0手冊-開發者手冊 -66. gcc 缺省優化 (2001-04-21 23:37:20)

===更多相關===
 

★  樊強制作 歡迎分享  ★