我知道我可以通过
复制故事结构和数据create table testtable1 as select * from sourcetable
有没有办法实际克隆所有内容,触发器,约束,授权等?
提前致谢。我们正在运行10G。
答案 0 :(得分:11)
查看dbms_metadata
,尤其是其dbms_metadata.get_ddl
程序(请参阅此tahiti link)。
所以,在你的情况下,你会先做
select dbms_metadata.get_ddl('TABLE', 'SOURCETABLE') from dual;
根据现在在这里的评论:不要忘记dbms_metadata.get_dependent_ddl
:
select dbms_metadata.get_dependent_ddl('TABLE', 'SOURCETABLE') from dual;
然后从给定的输出开始工作。
答案 1 :(得分:1)
以下查询返回错误:
select dbms_metadata.get_dependent_ddl('TABLE', 'SOURCETABLE') from dual;
错误:
ORA-31608: specified object of type TABLE not found
ORA-06512: at "SYS.DBMS_METADATA", line 6069
ORA-06512: at "SYS.DBMS_METADATA", line 8761
ORA-06512: at line 1
31608. 0000- "specified object of type %s not found"
*Cause: The specified object was not found in the database
*Action: Correct the object specificationand try the call again.
下面的查询按预期返回“ SOURCETABLE”的创建代码。
select dbms_metadata.get_ddl('TABLE', 'SOURCETABLE') from dual;