为什么不能连接 Postgres 中的 COMMENT 字符串?

mac*_*iej 5 postgresql

我试图在几行中连接更长的注释以保持我的代码干净,但惊讶地发现我不能。例如,以下代码在管道处返回语法错误:

COMMENT ON VIEW my_view IS 'foo' || 'bar';

评论有什么特别之处吗?

Lau*_*lbe 6

该文档解释了该参数:

新注释,写为字符串文字;或NULL删除评论。

所以你不能在那个地方有表达式,只能有一个常量。

幸运的是,SQL 标准已经规定相邻的字符串文字必须连接起来,因此您可以编写

COMMENT ON VIEW my_view IS 'foo'
   'bar';
Run Code Online (Sandbox Code Playgroud)

  • 我很确定这背后没有什么原则,只是照着执行。就评论而言,我猜没有人看到那个地方的表达式的用途。 (2认同)