首页 > 解决方案 > PL/SQL:表达式类型错误,将游标数据分配给 VARRAY

问题描述

我正在尝试将一些我从游标查询的数据加载到一个简单的 VARRAY VARCHAR2,但我收到一个编译错误,PLS-00382:表达式类型错误,这是我的代码:

TYPE V_REG_SANITARIO IS VARRAY (10) OF REGISTROS_SANITARIOS.NUM_REG_SAN%TYPE;  

TYPE reg_info_exp_art IS RECORD ( 
...
t_fabricante_reg_sanitario  V_REG_SANITARIO,  
...);

TYPE t_reg_info_exp_art IS TABLE OF reg_info_exp_art
  INDEX BY BINARY_INTEGER;


PROCEDURE p_sic_obtener_info_art (
  ...
  p_tabla           IN OUT    t_reg_info_exp_art,
  ...
)

cursor c1 (P_PROVR_GEN provr_trabajo.cod_provr_gen%TYPE, P_PROVR_TRA provr_trabajo.cod_provr_trabajo%TYPE)
IS Select rs.num_reg_san as reg_sanitario
         from registros_sanitarios rs
        where rs.cod_provr_trabajo = P_PROVR_TRA
          and rs.cod_provr_gen = P_PROVR_GEN;
v_cont            number :=1;

...
FOR reg1 IN ... LOOP
  for i in c1(v_provr_gen, v_provr_trabajo) loop              
      p_Tabla(v_cont).t_fabricante_reg_sanitario(i) := i.reg_sanitario;  --HERE I GET MY ERROR
  end loop;
...
end loop;  

标签: sqlarraysplsqltypesdatabase-cursor

解决方案


推荐阅读