PL/pgSQL(全名:Procedural Language / PostGres Structured Query Language)是一個可載入的程式語言。為PostgreSQL的ORDBMS所支援的程序式編程語言。它非常類似於Oracle PL/ SQL語言。隨着PosgreSQL v9.x的發佈,開始支援一些ISO SQL/PSM英語SQL/PSM的功能,例如可支援過載SQL調用函數與過程[1]

PL/pgSQL猶如一個多功能的程式語言,比SQL支援更多的程式陳述式,包括使用迴圈與其它控制結構的能力。使用PL/ pgSQL語言創建的函數可以調用SQL語法,或者藉由一個 觸發器來執行動作。

PL/pgSQL的建立,是為了能夠比SQL來執行更複雜的操作與運算,同時容易使用,而且能夠受定義於伺服器所信任[2]

PL/pgSQL是PostgreSQL預設安裝的唯一程式語言,不過許多人都可使用,包括PL/JavaPL/Perl頁面存檔備份,存於互聯網檔案館)、PL/phpPL/Python頁面存檔備份,存於互聯網檔案館)、PL/RPL/RubyPL/shPL/Tcl頁面存檔備份,存於互聯網檔案館)與and PL/Lua。 PostgreSQL於剖析器的階段中使用 Bison[3] ,所以很容易移植許多開放原始碼語言,以及進行代碼復用

與PSM比較

SQL/PSM語言由ISO標準規定,也激發了Oracle的PL/ SQL與pgPL/ SQL,因此有一些區別。 PSM的主要特性,與來自PL / pgSQL的不同[4]

  • 異常處理程式的子程式(持續處理程式);
  • 警告可以類似一個異常來處理;
  • 變數宣告應根據SQL查詢結果。

參考資料

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.