像以下调用DBLINK执行远程函数的代码能正常执行SELECT * FROM dblink('conn', $$SELECT get_v_snapshot($$ || $$'wh841'$$ || ');')
as host(
shotsnap VARCHAR
);如果我希望传递给远程函数的是复杂类型,如一个record或一个数组,请问能实现吗?

解决方案 »

  1.   

    1、调用远端的函数是可以的
    2、如果是传record最好是写到存储过程里
    3、数据没试过
      

  2.   

    更正:2、如果是传record最好是写到存储过程里你指的record是想要如何使用?能说得详细一点吗?
      

  3.   

    SELECT *
        FROM dblink('dbname=mydb', 'select proname, prosrc from pg_proc')
          AS t1(proname name, prosrc text)
        WHERE proname LIKE 'bytea%';
      

  4.   

    告诉我一下传递数组可以吗?
    指定多个字段名可以直接取出某表的多个某字段值吗,
    SELECT希望只执行一次查询。
    调用此函数时,已执行过SELECT查询。
      

  5.   

    数组可以啊,
    数组的输入表达式为array[.....]
    如int[5]={0,1,2,1,3} ,数组表达式为array[0,1,2,1,3]
      

  6.   


    你有看我的题目吗,我希望通过dblink调用远程数据库函数时,传递数组给远程数据库。请问一下该怎么写呢?