这里我试图为特定变量分配“SELECT”查询。 select查询使用dblink从其他数据库表中检索行。例如如下所示:
示例:我的尝试
create or replace function fun(names varchar(60), id bigint) returns void as
$$
Declare
sql varchar;
Begin
sql := 'Select * from dblink'('conn','select * from tablex') /* Error occurred here */
'where name = ''' || names ||'''';
raise info '%',sql;
execute sql,'names varchar(60)',names=names;
end;
$$
Language plpgsql;
错误:语法错误在“(”
处或附近答案 0 :(得分:1)
你搞砸了你的报道。
你也可以在fumction中使用美元报价。
sql := $SQL$...$SQL$
答案 1 :(得分:0)
解决方案:这是解决方案
create or replace function fun(names varchar(60), id bigint) returns void as
$$
Declare
sql varchar;
Begin
sql := 'Select * from dblink(''conn','select * from tablex'')
where name = ''' || names ||'''';
raise info '%',sql;
execute sql,'names varchar(60)',names=names;
end;
$$
Language plpgsql;