【问题标题】:what is the difference有什么不同
【发布时间】:2010-04-07 11:26:27
【问题描述】:

我什至不知道这叫什么?

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

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

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

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

【问题讨论】:

    标签: sql database postgresql plpgsql


    【解决方案1】:

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

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

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

    【讨论】:

    • 允许不同的字符串可以实现更简单的嵌套。
    猜你喜欢
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多