在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函數。