在Oracle數(shù)據(jù)庫中,Table函數(shù)是一種將集合類型(例如嵌套表或VARRAY)轉(zhuǎn)換為關(guān)系表的方法
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函數(shù)將嵌套表emp_ids_type
轉(zhuǎn)換為關(guān)系表,并通過ids.column_value
訪問嵌套表中的值。最后,我們根據(jù)部門ID篩選員工信息。
注意:在實際應(yīng)用中,嵌套表通常與對象類型和復(fù)雜數(shù)據(jù)結(jié)構(gòu)一起使用。本示例僅用于演示如何在Oracle中使用TABLE函數(shù)。