在Postgres中将复合类型的Oracle转换为Postgres和Bulk收集兼容的等价物时出现问题

时间:2017-07-20 13:31:55

标签: sql oracle postgresql bulk-collect

在Oracle中,我们有一个函数,我们使用批量收集来获取数据并存储在一个变量中。

      SELECT DISTINCT emp_id
      BULK COLLECT INTO v_emp_array
      FROM   emp_details;

其中v_emp_array是一个类型:

Oracle:CREATE OR REPLACE TYPE v_emp_array IS TABLE OF VARCHAR2(4000);

请帮助在PostgreSQL中获得此功能。

对这些人不熟悉,我无法找到正确的语法。

1 个答案:

答案 0 :(得分:0)

do $$
declare
v_emp_array varchar[];
begin
select array(select distinct emp_id from emp_details) into v_emp_array;
end;
$$;