| 特性 | Index-by 表 | 巢狀表 | VARRAY |
|---|---|---|---|
| 元素數量上限 | 無限制 | 無限制 | 有限制 (MAXSIZE) |
| 稀疏性 | 永遠稀疏 | 刪除後可稀疏 | 永遠緊密 |
| 可存入資料庫欄位 | 否 | 是 | 是 |
| 儲存方式 | 僅記憶體 | 獨立儲存表 (Out-of-line) | 同列儲存 (In-line) |
| 元素順序保證 | 無 | 無 (需 ORDER BY) | 有 (插入順序) |
| 適用規模 | 中小型、臨時計算 | 大型、持久化 | 小型、有序集合 |
COUNT, FIRST, LAST, PRIOR, NEXT, EXTEND, TRIM, DELETE)。collection.subscript 或 collection(subscript)。TYPE type_name IS TABLE OF element_type [NOT NULL] INDEX BY BINARY_INTEGER; -- element_type 可為任何 PL/SQL 型別 (含 BOOLEAN, PLS_INTEGER)
TYPE type_name IS TABLE OF element_type [NOT NULL]; -- element_type 僅限 SQL 型別 (不可為 BOOLEAN, PLS_INTEGER, SIGNTYPE) -- 可作為資料表欄位型別
TYPE type_name IS VARRAY(max_size) OF element_type [NOT NULL]; -- max_size 為正整數常數 -- 亦可作為資料表欄位型別
巢狀表與 VARRAY 變數本身可為 NULL(尚未初始化),此時不可引用任何元素,需用 IS NULL 判斷。這與「元素為 NULL」截然不同,Oracle 稱為 Atomically Null。