Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL:如何分配;选择";使用dblink查询变量?_Postgresql_Dblink - Fatal编程技术网

PostgreSQL:如何分配;选择";使用dblink查询变量?

PostgreSQL:如何分配;选择";使用dblink查询变量?,postgresql,dblink,Postgresql,Dblink,在这里,我试图将一个“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 * fro

在这里,我试图将一个“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;

错误:语法错误位于或接近“(”

解决方案:以下是解决方案

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;

你把报价弄糟了

你也可以在广告中使用美元报价

sql := $SQL$...$SQL$