Postgresql函数中的“$$”是什么意思?

问题描述 投票:3回答:1
CREATE OR REPLACE FUNCTION increment(i integer) RETURNS integer AS $$
        BEGIN
                RETURN i + 1;
        END;
$$ LANGUAGE plpgsql;

以上代码取自Postgresql网站。但是我不明白为什么使用$$。我在网上看到过多个例子,但实际上并没有解释为什么会这样。或者甚至是必要的?

postgresql dollar-sign
1个回答
5
投票

From the manualcreate function声明:

定义

定义函数的字符串常量;意思取决于语言。它可以是内部函数名称,目标文件的路径,SQL命令或过程语言中的文本。

使用美元引用(参见第4.1.2.4节)编写函数定义字符串而不是正常的单引号语法通常很有帮助。如果没有美元引用,函数定义中的任何单引号或反斜杠都必须通过加倍来转义。

Section 4.1.2.4 explains the dollar quoting

美元引用的字符串常量由美元符号($),零个或多个字符的可选“标记”,另一个美元符号,构成字符串内容的任意字符序列,美元符号,相同的标记组成开始这个美元报价和一个美元符号。例如,以下是使用美元引用指定字符串“Dianne's horse”的两种不同方法

© www.soinside.com 2019 - 2024. All rights reserved.