Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
Sql Postgres将两个字段合并为一个具有未知类型值的字段_Sql_Postgresql_Postgresql 9.3_Squirrel Sql - Fatal编程技术网

Sql Postgres将两个字段合并为一个具有未知类型值的字段

Sql Postgres将两个字段合并为一个具有未知类型值的字段,sql,postgresql,postgresql-9.3,squirrel-sql,Sql,Postgresql,Postgresql 9.3,Squirrel Sql,我使用SquirrelSQL客户机处理Postgres,问题是同一个查询返回不同的结果 如果以下查询按原样执行,则其工作正常: select foo.column1 as Field1, 1 as Field2 from (values (3343),(45323)) as Foo 但是如果查询是从存储函数执行的,比如: CREATE OR REPLACE FUNCTION getSomeData(text) RETURNS setof tmp_stub_type AS $body$ DECL

我使用SquirrelSQL客户机处理Postgres,问题是同一个查询返回不同的结果

如果以下查询按原样执行,则其工作正常:

select foo.column1 as Field1, 1 as Field2 from (values (3343),(45323)) as Foo
但是如果查询是从存储函数执行的,比如:

CREATE OR REPLACE FUNCTION getSomeData(text) RETURNS setof tmp_stub_type AS
$body$
DECLARE
 r tmp_stub_type%rowtype;
BEGIN
    FOR r IN
      select foo.column1 as Field1, 1 as Field2 from (values (3343),(45323)) as Foo
    LOOP
      RETURN NEXT r;
    END LOOP;
    RETURN;
END;
$body$
LANGUAGE 'plpgsql';
它返回相同的行数,但带有未知类型值,只有一个字段,而不是两个字段

tmp_stub_type是包含两个整数字段的普通表,仅此而已

我试图通过Postgres pgAdmin解决这个问题,但他给我看了相同的东西,除了值之外——它们是正确的,但放在一个字段中,用逗号分隔

我需要运行存储函数内的查询,请帮助处理它,并为我的英语抱歉


我正在使用:Postgres 9.3Squirrel 3.5.3OS Windows

要从返回行类型或具有多个输出参数的函数中获取多列,请使用例如
从getSomeData(…)中选择*而不是
选择getSomeData(…)


资料来源:

它的作品。我真的很感谢你的帮助!非常感谢。