有什么区别:
CREATE FUNCTION func() RETURNS integer
LANGUAGE plpgsql AS $$
declare
begin
-- do something
end
$$;
和
CREATE FUNCTION func() RETURNS INTEGER AS $$
declare
begin
-- do something
end
$$ LANGUAGE plpgsql;
LANGUAGE plpgsql
是否基本上必须在 $$
用法范围之外?
最佳答案
没有任何区别。
函数体是一个字符串文字。 $$
只是美元引号,也可以是单引号(但最好使用美元引号!):
CREATE FUNCTION
是一个声明性 SQL-DDL 命令,关键字的顺序非常自由,根据 definition in the manual . (命令定义中花括号内的关键字可以随意排列,其余不能)。
我最终决定始终将语言声明与函数头的其余部分一起放在顶部,在函数体之前。更有意义。
关于postgresql - 在函数体之前或之后声明 "LANGUAGE plpgsql"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38297776/