PL/pgSQL

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

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

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

PL/pgSQL是PostgreSQL預設安裝的唯一編程語言,不過許多人都可使用,包括[https://web.archive.org/web/20050827052426/http://gborg.postgresql.org/project/pljava/projdisplay.php PL/Java]、[http://www.postgresql.org/docs/current/interactive/plperl.html PL/Perl]、[https://web.archive.org/web/20140530203110/http://www.commandprompt.com/community/plphp/ PL/php]、[http://www.postgresql.org/docs/current/interactive/plpython.html PL/Python]、[https://web.archive.org/web/20140619175406/http://www.joeconway.com/plr/ PL/R]、[https://web.archive.org/web/20070115164527/http://raa.ruby-lang.org/project/pl-ruby PL/Ruby]、[https://web.archive.org/web/20090111030435/http://plsh.projects.postgresql.org/ PL/sh]、[http://www.postgresql.org/docs/current/interactive/pltcl.html PL/Tcl]與and [https://web.archive.org/web/20120820121853/http://pllua.projects.postgresql.org/ PL/Lua]。 PostgreSQL於分析器的階段中使用 Bison ,所以很容易移植許多開放源代碼語言,以及進行代碼復用。

與PSM比較
在SQL/PSM語言由ISO標準規定,也激發了Oracle的PL/ SQL與pgPL/ SQL,因此有一些區別。 PSM的主要特性,與來自PL / pgSQL的不同:
*異常處理程式的子程式(持續處理程序);
*警告可以類似一個異常來處理;
*變數宣告應根據SQL查詢結果。

參考資料
外部連結
*[http://www.postgresql.org/docs/current/static/plpgsql.html PL/pgSQL 官方文檔]
*[http://www.pgsql.cz/index.php/PL/pgSQL_%28en%29 PL/pgSQL使用教學與實例]

评论 (0)

  • 还没有评论,来抢沙发吧。