2010-04-07 266 views
0

我甚至不確定這是什麼叫?有什麼區別

但我努力學習的區別是什麼寫這樣的功能之間是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 $?爲什麼有人會選擇另一個呢?或許我錯過了一些解釋不同之處的文檔。如果有人能夠啓發我,我會非常感激。

回答

5

無論您在AS之後的$標誌之間輸入什麼,都會變成分隔符標記。你可以寫:

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

$...$符號代表PostgreSQL中dollar-quoted string constant

+0

允許不同的字符串使嵌套更簡單。 – 2010-04-07 11:53:07