在Oracle中,TABLE
函數用于將一個集合或嵌套表類型轉換為關系表。要使用TABLE
函數,首先需要創建一個類型和相應的表,然后將這些類型作為參數傳遞給TABLE
函數。以下是如何設置TABLE
函數參數的步驟:
CREATE TYPE emp_obj AS OBJECT (
empno NUMBER,
ename VARCHAR2(30),
job VARCHAR2(30),
mgr NUMBER,
hiredate DATE,
sal NUMBER,
comm NUMBER,
deptno NUMBER
);
CREATE TYPE emp_ntt AS TABLE OF emp_obj;
CREATE TABLE emp_table (
emp_data emp_ntt
) NESTED TABLE emp_data STORE AS emp_data_tab;
INSERT INTO emp_table (emp_data) VALUES (
emp_ntt(
emp_obj(7369, 'SMITH', 'CLERK', 7902, TO_DATE('17-DEC-80', 'DD-MON-RR'), 800, NULL, 20),
emp_obj(7499, 'ALLEN', 'SALESMAN', 7698, TO_DATE('20-FEB-81', 'DD-MON-RR'), 1600, 300, 30),
emp_obj(7521, 'WARD', 'SALESMAN', 7698, TO_DATE('22-FEB-81', 'DD-MON-RR'), 1250, 500, 30)
)
);
TABLE
函數查詢數據:SELECT * FROM TABLE(SELECT emp_data FROM emp_table);
在這個例子中,我們首先創建了一個對象類型emp_obj
,然后創建了一個嵌套表類型emp_ntt
。接著,我們創建了一個包含嵌套表類型列的表emp_table
。最后,我們使用TABLE
函數查詢emp_table
中的數據。