定义了一个嵌套表类型
CREATE OR REPLACE TYPE t_DT_A_BL_RK as object
(
RYBH    VARCHAR2(18),
XM      VARCHAR2(30),
BM      VARCHAR2(60),
XB      CHAR(1),
CSRQ    CHAR(8),
MZ      VARCHAR2(2),
SFZH    VARCHAR2(18),
JG      VARCHAR2(6),
HYZK    VARCHAR2(1),
WHCD    CHAR(2),
XX      CHAR(1),
XXMJ    VARCHAR2(1),
HKSZDQX VARCHAR2(6),
LXFS    VARCHAR2(40),
RYLB    CHAR(1),
HKSZDXZ VARCHAR2(80),
XZZQX   VARCHAR2(6),
XZZXZ   VARCHAR2(80),
SMDJRQ  VARCHAR2(8),
SMDJYY  VARCHAR2(2),
ZXSJ    CHAR(8),
RZXYY   VARCHAR2(4),
XMTYIN  VARCHAR2(30),
XMTYUN  VARCHAR2(30),
SJLY    VARCHAR2(80),
ZHGXSJ  DATE
)
;CREATE OR REPLACE TYPE t_IndexBy as table of t_dt_a_bl_rk;
然后在存储过程中写:
create or replace procedure sp_sys_dt_a_bl_rk_cfry as
  r_bk T_INDEXBY;
  T_CHK_ARRAY T_INDEXBY; --比对数组
begin
  select RYBH,
         XM,
         BM,
         XB,
         CSRQ,
         MZ,
         SFZH,
         JG,
         HYZK,
         WHCD,
         XX,
         XXMJ,
         HKSZDQX,
         LXFS,
         RYLB,
         HKSZDXZ,
         XZZQX,
         XZZXZ,
         SMDJRQ,
         SMDJYY,
         ZXSJ,
         RZXYY,
         XMTYIN,
         XMTYUN,
         SJLY,
         ZHGXSJ
    into r_bk.,
         r_bk.XM,
         r_bk.BM,
         r_bk.XB,
         r_bk.CSRQ,
         r_bk.MZ,
         r_bk.SFZH,
         r_bk.JG,
         r_bk.HYZK,
         r_bk.WHCD,
         r_bk.XX,
         r_bk.XXMJ,
         r_bk.HKSZDQX,
         r_bk.LXFS,
         r_bk.RYLB,
         r_bk.HKSZDXZ,
         r_bk.XZZQX,
         r_bk.XZZXZ,
         r_bk.SMDJRQ,
         r_bk.SMDJYY,
         r_bk.ZXSJ,
         r_bk.RZXYY,
         r_bk.XMTYIN,
         r_bk.XMTYUN,
         r_bk.SJLY,
         r_bk.ZHGXSJ
    from DT_A_BL_RK
T_CHK_ARRAY(1) := r_bk;
dbms_output.put_lint(T_CHK_ARRAY(1).rybh);
end;执行该过程为什么报错:
ORA-06530: Reference to uninitialized composite ???