为什么我们在Postgresql函数中使用不同的语言

时间:2018-09-27 07:26:31

标签: plpgsql

创建函数Abc() 返回setof 作为$$ 语言“ sql” 要么 语言'plpgsql'

1 个答案:

答案 0 :(得分:0)

PostgreSQL很久以来就支持更多的语言-最初,有SQL语言的函数。这种语言非常适合简单的任务,可以用作宏-内联一些简单的情况(然后将代码包装为函数的开销为零)。而且任何人都知道SQL。

PLpgSQL基于Oracle的PL / SQL-它是具有集成SQL的出色过程语言。很多人都知道PL / SQL,并且可以快速使用PL / pgSQL。

PLPerl,PLPerlu,PLPython-这些语言是用于外部过程的语言。这些语言是通用的-尚未针对数据库内部的使用进行优化,但是可以执行很多其他任务,或者可以使用相当广泛的库(尽管这种使用可能有点危险)-结尾的“ u”表示“不受信任”

大多数时候,PostgreSQL开发人员将SQL用于一行功能(就像宏语言一样),将PLpgSQL用于数据处理。外部过程的语言经常使用-例如,我喜欢使用Python进行XML解析。