0

我什至不确定这叫什么?

但我试图了解在 plpgsql 中编写这样的函数有什么区别:

CREATE OR REPLACE FUNCTION foo() RETURNS TRIGGER AS $$
    ....
$$ LANGUAGE plpgsql;

对比

CREATE OR REPLACE FUNCTION foo() RETURNS TRIGGER AS $foo$
    ....
$foo$ LANGUAGE plpgsql;

使用 $$ 和 $foo$ 有区别吗?为什么有人会选择一个而不是另一个?也许我只是错过了一些解释差异的文档。如果有人能启发我,我将不胜感激。

4

1 回答 1

5

无论您在$之后的符号之间键入什么,都将AS成为分隔符标记。你可以写:

CREATE OR REPLACE FUNCTION foo() RETURNS TRIGGER AS $!!unicorns!!$
    ....
$!!unicorns!!$ LANGUAGE plpgsql;

$...$符号表示 PostgreSQL 中的美元引号字符串常量

于 2010-04-07T11:37:42.953 回答