在Oracle数据库中,Table函数是一种将集合类型(例如嵌套表或VARRAY)转换为关系表的方法
CREATE TYPE emp_ids_type AS TABLE OF NUMBER;
/
CREATE TABLE employees (
id NUMBER,
name VARCHAR2(50),
department_id NUMBER
) NESTED TABLE emp_ids_type STORE AS emp_ids_tab;
/
INSERT INTO employees (id, name, department_id) VALUES (1, 'John Doe', 10);
INSERT INTO employees (id, name, department_id) VALUES (2, 'Jane Smith', 20);
INSERT INTO employees (id, name, department_id) VALUES (3, 'Alice Johnson', 10);
COMMIT;
/
SELECT e.id, e.name, e.department_id
FROM employees e, TABLE(e.emp_ids_type) ids
WHERE ids.column_value = e.department_id;
这里,我们使用了TABLE函数将嵌套表emp_ids_type
转换为关系表,并通过ids.column_value
访问嵌套表中的值。最后,我们根据部门ID筛选员工信息。
注意:在实际应用中,嵌套表通常与对象类型和复杂数据结构一起使用。本示例仅用于演示如何在Oracle中使用TABLE函数。