如何使用PostgreSql在包中定义复合类型

时间:2019-06-14 13:16:48

标签: oracle postgresql database-migration

我参与了从Oracle到PostgreSql的迁移过程。 Ora2pg以正确的方式转换了很多程序,程序包。但是有些包没有包括在内。

  • 具有功能的包已成功创建。
  • 程序包问题包含复合类型的变量。
create or replace PACKAGE main_table
AS
    TYPE t_mainStruct IS RECORD (
                     key  VARCHAR2(900),
                     value        VARCHAR2(900)
                     );
   TYPE t_mainTable IS TABLE OF t_mainStruct INDEX BY BINARY_INTEGER;
end;

我的主要问题是无法从函数访问变量。

CREATE OR REPLACE FUNCTION get_main_table (p_inMain text) RETURNS MAIN_TABLE.T_MAINTABLE AS $body$
DECLARE


  -- Variables
   v_Mains              parm_table.t_ParmTable;

.
.
.

BEGIN
.
..
...
 v_Mains[id].key := substr(v_InParmWork,1,v_ParseLoc - 1);

错误是:

无法再解决“键”列

0 个答案:

没有答案