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 に答える