在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
中的数据。