跳到主要内容
内容阅读

在知识库中专注阅读,并随时返回相关工具与课程

ORA-06531常见PL/SQL

引用未初始化的集合

Reference to uninitialized collection

错误描述

在使用构造函数初始化之前引用了集合(嵌套表或 VARRAY)。集合必须先初始化才能添加或访问元素。

可能原因

  • 嵌套表或 VARRAY 已声明但未使用构造函数初始化
  • 集合被显式或隐式设置为 NULL 后又被访问
  • 函数在某些条件下返回 NULL 集合

解决方案

  1. 1初始化集合:v_list := my_table_type();
  2. 2始终在 DECLARE 部分初始化:v_list my_table_type := my_table_type();
  3. 3访问前检查 NULL:IF v_list IS NOT NULL THEN ...

诊断命令

SELECT type_name, typecode, attributes FROM dba_types WHERE owner = 'SCHEMA' AND typecode IN ('COLLECTION','TABLE','VARRAY');
SELECT text FROM dba_source WHERE name = 'PROC_NAME' ORDER BY line;
#plsql#collection#nested-table#varray#uninitialized

同类错误码(PL/SQL)

想系统掌握这个领域?

「PL/SQL」在课程 Day 81-90 中有 10 篇完整实战教程

完整操作步骤真实截图踩坑总结
查看完整课程¥128/月起 · 解锁全部 2738+ 篇
ORA-06531: 引用未初始化的集合 - 原因与解决方案 | DBA 学习之路