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查询结果。

参考资料

  1. ^ feature T322. [2014-05-18]. (原始内容存档于2014-08-24). 
  2. ^ PL/pgSQL - SQL Procedural Language. [2007-11-15]. (原始内容存档于2007-11-30). 
  3. ^ 存档副本. [2014-05-18]. (原始内容存档于2014-04-22). 
  4. ^ Proposal: PL/pgPSM for pg9.3页面存档备份,存于互联网档案馆), by P. Stehule; and PosgreSQL-PSM-addon Manual页面存档备份,存于互联网档案馆

外部链接