如何将表(使用UDT作为列)移动到oracle中的另一个模式

时间:2014-06-25 06:15:27

标签: oracle

我有一个表,其中包含一个用户定义类型的列。需要将此表与UDT一起移动到另一个模式。我试图创建表格,问题是它使用原始模式的UTD。有没有办法实现这个目标?

例: 用户1:

CREATE TYPE employee_t AS OBJECT
(employee_id NUMBER
,employee_name VARCHAR2(30)
,salary NUMBER
,dept_id NUMBER);

CREATE TABLE department
(emp employee_t
,mgr varchar2(40)
,dept_id number
,dept_name varchar2(30));

在上面的示例中,department表有一个名为emp的列,即UDT。

现在在user2上,如果我执行以下操作

create table department as select * from user1.department

表格将如下创建。实际上我也希望将EMPLOYEE_T移动到user2。

说明部门:

Name                                      Null?    Type 
----------------------------------------- -------- -------------------
EMP                                            USER1.EMPLOYEE_T 
MGR                                                VARCHAR2(40)
DEPT_ID                                            NUMBER
DEPT_NAME                                          VARCHAR2(30)

0 个答案:

没有答案