将附加文本连接到 pl/pgsql 中的字符串变量
concatenate additional text to string variable in pl/pgsql
我正在使用 pl/pgsql,我正在尝试做一些类似 myvar+="additional text"
的事情
这就是我所做的
mywhere := 'dyn_tab2.id=';
IF fk IS NOT NULL
THEN
mywhere := mywhere || "AND dyn_tab2.fk_id=";
END IF;
所以,我希望最后的 mywhere
是 dyn_tab2.id= AND dyn_tab2.fk_id=
,但我得到以下错误
ERROR: column "AND dyn_tab2.fk_id=" does not exist
LINE 1: SELECT mywhere || "AND dyn_tab2.fk_id="
^
QUERY: SELECT mywhere || "AND dyn_tab2.fk_id="
CONTEXT: PL/pgSQL function __aa(integer,integer) line 12 at assignment
SQL state: 42703
如何将附加文本连接到已存在的字符串变量?
谢谢
您必须在字符串周围使用单引号而不是双引号,如下所示:
mywhere := mywhere || 'AND dyn_tab2.fk_id=';
双引号用于指示对象,例如列。
我正在使用 pl/pgsql,我正在尝试做一些类似 myvar+="additional text"
这就是我所做的
mywhere := 'dyn_tab2.id=';
IF fk IS NOT NULL
THEN
mywhere := mywhere || "AND dyn_tab2.fk_id=";
END IF;
所以,我希望最后的 mywhere
是 dyn_tab2.id= AND dyn_tab2.fk_id=
,但我得到以下错误
ERROR: column "AND dyn_tab2.fk_id=" does not exist
LINE 1: SELECT mywhere || "AND dyn_tab2.fk_id="
^
QUERY: SELECT mywhere || "AND dyn_tab2.fk_id="
CONTEXT: PL/pgSQL function __aa(integer,integer) line 12 at assignment
SQL state: 42703
如何将附加文本连接到已存在的字符串变量?
谢谢
您必须在字符串周围使用单引号而不是双引号,如下所示:
mywhere := mywhere || 'AND dyn_tab2.fk_id=';
双引号用于指示对象,例如列。