在Oracle數據庫中,MULTISET是一種用于處理嵌套表(nested table)和VARRAY(可變數組)的運算符
CREATE TYPE emp_list AS TABLE OF NUMBER;
CREATE TABLE dept (
dept_id NUMBER,
emp_ids emp_list
) NESTED TABLE emp_ids STORE AS emp_ids_nt;
INSERT INTO dept (dept_id, emp_ids) VALUES (10, emp_list(1, 2, 3));
INSERT INTO dept (dept_id, emp_ids) VALUES (20, emp_list(4, 5, 6));
SELECT dept_id, COLUMN_VALUE AS emp_id
FROM dept, TABLE(emp_ids) t;
這將返回以下結果:
DEPT_ID EMP_ID
------- ------
10 1
10 2
10 3
20 4
20 5
20 6
通過使用MULTISET運算符,可以輕松地將嵌套表或VARRAY中的元素轉換為行,從而實現更簡單、更直觀的數據處理。