有什么不同

时间:2010-04-07 11:26:27

标签: sql database postgresql plpgsql

我甚至不确定这叫什么?

但是我想知道在这样写一个函数的区别在于plpgsql:

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

VS

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

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

1 个答案:

答案 0 :(得分:5)

$成为分隔符标记后AS符号之间输入的内容。你可以写:

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

$...$表示法表示PostgreSQL中的dollar-quoted string constant