PostgreSQL 数据库中的函数可以使用 SQL 或 PL/pgSQL(过程语言/PostgreSQL)实现。虽然两种技术都能达到类似的结果,但选择哪种方法取决于问题的具体要求。
优点:
使用场景:
优点:
使用场景:
为了做出明智的决定,请考虑以下因素:
使用查询中提供的示例:
<code class="language-sql">CREATE OR REPLACE FUNCTION f1(istr varchar) RETURNS text AS $$ SELECT 'hello! '::varchar || istr; $$ LANGUAGE SQL;</code>
<code class="language-sql">CREATE OR REPLACE FUNCTION f2(istr varchar) RETURNS text AS $$ BEGIN RETURN 'hello! '; -- 类型默认为 text END $$ LANGUAGE plpgsql;</code>
在本例中,两个函数对输入值“world”返回相同的结果,但底层实现不同。f1 使用简单的 SQL 查询,而 f2 使用 PL/pgSQL 的 BEGIN-END 块和隐式返回。
以上是PostgreSQL 中的 SQL 与 PL/pgSQL:何时应该使用每种函数类型?的详细内容。更多信息请关注PHP中文网其他相关文章!