在Oracle中,TABLE
函數(shù)用于將一個(gè)集合或嵌套表類型轉(zhuǎn)換為關(guān)系表。要使用TABLE
函數(shù),首先需要?jiǎng)?chuàng)建一個(gè)類型和相應(yīng)的表,然后將這些類型作為參數(shù)傳遞給TABLE
函數(shù)。以下是如何設(shè)置TABLE
函數(shù)參數(shù)的步驟:
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
函數(shù)查詢數(shù)據(jù):SELECT * FROM TABLE(SELECT emp_data FROM emp_table);
在這個(gè)例子中,我們首先創(chuàng)建了一個(gè)對象類型emp_obj
,然后創(chuàng)建了一個(gè)嵌套表類型emp_ntt
。接著,我們創(chuàng)建了一個(gè)包含嵌套表類型列的表emp_table
。最后,我們使用TABLE
函數(shù)查詢emp_table
中的數(shù)據(jù)。