do运算符参数中的重叠无效

时间:2019-01-11 11:59:00

标签: postgresql plpgsql

串联不起作用

谁能解释为什么
此代码有效:

do 'begin perform 2;  end;';  

更好地说不会产生错误 而且:

do 'begin perform '||'2'||';  end;';

生成

  

错误:“ ||”或附近的语法错误
  第1行:“先执行'||'2'||';结束;';

1 个答案:

答案 0 :(得分:0)

DO的参数必须是字符串文字。

来自manual

  

参数(...)code(...)必须将其指定为字符串文字(...)

连接字符串的表达式不是文字。