在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中的元素转换为行,从而实现更简单、更直观的数据处理。