PostgreSQL:列名称为数组PL / pgSQL

时间:2015-09-12 16:49:48

标签: arrays postgresql plpgsql

create or replace function extr( tabname text ) returns text[] as
$$
declare cols text[];
begin
    execute 'array(select column_name::text from information_schema.columns where table_name = '||quote_literal(tabname)||');' into cols;
    return cols;
end;
$$
language 'plpgsql';

select extr('test');

一个提供表名,并希望将其列名作为数组返回。上面的代码在“array”处或附近给出了'语法错误'。如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

查询应该以{{1​​}}开头,而不是administrator,并且它不必是动态SQL。

试试这个修改过的版本:

select