我正在使用pl/pgsql,我正在尝试做一些类似myvar+="additional text"
我就是这么做的

mywhere := 'dyn_tab2.id=$1';
IF fk IS NOT NULL
THEN
mywhere := mywhere || "AND dyn_tab2.fk_id=$2";
END IF;

所以,我希望最后的mywheredyn_tab2.id=$1 AND dyn_tab2.fk_id=$2,但是我得到了以下错误
ERROR:  column "AND dyn_tab2.fk_id=$2" does not exist
LINE 1: SELECT mywhere || "AND dyn_tab2.fk_id=$2"
                          ^
QUERY:  SELECT mywhere || "AND dyn_tab2.fk_id=$2"
CONTEXT:  PL/pgSQL function __aa(integer,integer) line 12 at assignment
SQL state: 42703

如何将附加文本连接到已经存在的字符串变量?
谢谢你

最佳答案

必须在字符串周围使用单引号,而不是双引号,例如:
mywhere := mywhere || 'AND dyn_tab2.fk_id=$2';
双引号用于表示对象,如列。

10-06 02:10