2012-05-07 81 views
0

我想在函數內部創建2d數組,並使用select語句中的值填充它。我嘗試這段代碼,最後得到一維數組。我究竟做錯了什麼?Postgresql將查詢結果保存在2d數組中

select array(select a from t a) 
===================================== 
"{"(1,stxt,varchar)","(2,sint,int)"}" 


create or replace function __test(
) returns text 
language 'plpgsql' as 
$$ 
declare 
    _dat varchar[][]; 

begin 

    _dat = (select array(select a from t a)); 

    return array_dims(_dat); 

end; 
$$; 


select __test(); 
=========== 
"[1:2]" 

我期待最後的命令返回兩列三列的[1:2] [1:3]。

回答

1

PostgreSQL支持只有一個類型的數組 - 所以你可以只採取行數組/你不能採取二維數組你會。現在沒有辦法如何做到這一點。

相關問題