2016-09-29 29 views
0

PostgreSQL有什麼辦法可以像在Oracle中一樣在函數內聲明本地類型"TABLE OF ..%ROWTYPE INDEX BY BINARY_INTEGER"Oracle => PostgreSQL:%ROWTYPE數組?

CREATE OR REPLACE FUNCTION FNC 
    RETURN NUMBER 
AS 
    TYPE TYPE_TB IS TABLE OF ADM_APPLICATIONS%ROWTYPE 
     INDEX BY BINARY_INTEGER; 

    TB_VAR TYPE_TB; 
BEGIN 
    return 1; 
END; 
+0

這看起來像一個[XY問題(http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) 。如何描述你想要實現的目標呢? –

回答

0

對於每個表還有一個對應的類型(具有相同的名稱)可用。

所以,你可以做到以下幾點:

CREATE OR REPLACE FUNCTION fnc() 
    RETURNs integer 
AS 
$$ 
declare 
    tb_var adm_applications[]; 
begin 
    return 1; 
end; 
$$ 
language plpgsql; 
+0

謝謝你的回覆! – Iuliia

+0

謝謝你的回覆!還有一個問題:如何設置和獲取字段值?這種方式不起作用:'CREATE OR REPLACE FUNCTION fnc() RETURNs integer AS $$ declare tb_var adm_applications []; begin tb_var [1] .col_name:='LALALA'; return 1; 結束; $$ language plpgsql;'它說:「錯誤:語法錯誤處於或接近」。「 LINE 5:tb_var [1] .col_name:='LALALA';」 @a_horse_with_no_name – Iuliia

相關問題