PL/pgSQL
此条目翻译自其他语言维基百科,需要相关领域的编者协助校对翻译。 |
PL/pgSQL(全名:Procedural Language / PostGres Structured Query Language)是一个可加载的编程语言。为PostgreSQL的ORDBMS所支持的过程式编程语言。它非常类似于Oracle的 PL/ SQL语言。随着PosgreSQL v9.x的发布,开始支持一些ISO SQL/PSM的功能,例如可支持重载SQL调用函数与过程[1]。
PL/pgSQL犹如一个多功能的编程语言,比SQL支持更多的程序语句,包括使用循环与其它控制结构的能力。使用PL/ pgSQL语言创建的函数可以调用SQL语法,或者借由一个 触发器来执行动作。
PL/pgSQL的建立,是为了能够比SQL来执行更复杂的操作与运算,同时容易使用,而且能够受定义于服务器所信任[2]。
PL/pgSQL是PostgreSQL默认安装的唯一编程语言,不过许多人都可使用,包括PL/Java、PL/Perl(页面存档备份,存于互联网档案馆)、PL/php、PL/Python(页面存档备份,存于互联网档案馆)、PL/R、PL/Ruby、PL/sh、PL/Tcl(页面存档备份,存于互联网档案馆)与and PL/Lua。 PostgreSQL于分析器的阶段中使用 Bison[3] ,所以很容易移植许多开放源代码语言,以及进行代码复用。
与PSM比较
在SQL/PSM语言由ISO标准规定,也激发了Oracle的PL/ SQL与pgPL/ SQL,因此有一些区别。 PSM的主要特性,与来自PL / pgSQL的不同[4]:
- 异常处理程序的子程序(持续进程);
- 警告可以类似一个异常来处理;
- 变量宣告应根据SQL查询结果。
参考资料
- ^ feature T322. [2014-05-18]. (原始内容存档于2014-08-24).
- ^ PL/pgSQL - SQL Procedural Language. [2007-11-15]. (原始内容存档于2007-11-30).
- ^ 存档副本. [2014-05-18]. (原始内容存档于2014-04-22).
- ^ Proposal: PL/pgPSM for pg9.3 (页面存档备份,存于互联网档案馆), by P. Stehule; and PosgreSQL-PSM-addon Manual (页面存档备份,存于互联网档案馆)
外部链接
- PL/pgSQL 官方文档(页面存档备份,存于互联网档案馆)
- PL/pgSQL使用教学与实例(英文)