в чем разница - PullRequest
       13

в чем разница

0 голосов
/ 07 апреля 2010

Я даже не уверен, как это называется?

Но я пытаюсь понять, в чем разница между написанием такой функции в plpgsql:

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

против

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

есть ли разница при использовании $$ vs $ foo $? почему кто-то выбрал одно из другого? возможно, я просто пропустил некоторые документы, объясняющие разницу. Если бы кто-то мог просветить меня, я бы очень признателен.

1 Ответ

5 голосов
/ 07 апреля 2010

Все, что вы вводите между знаками $ после AS, становится тегом-разделителем. Вы могли бы написать:

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

Обозначение $...$ обозначает строковую константу в кавычках в долларах в PostgreSQL.

...