我有一个表,我想复制,但有不同的表名。我需要重复数据,索引,约束。我怎样才能在APEX内完成?
答案 0 :(得分:0)
从SQL研讨会试试这个。您可能需要调整执行方式,我没有APEX来测试它。
execute DBMS_METADATA.SET_TRANSFORM_PARAM (DBMS_METADATA.SESSION_TRANSFORM,'PRETTY',TRUE); execute DBMS_METADATA.SET_TRANSFORM_PARAM (DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',FALSE); execute DBMS_METADATA.SET_TRANSFORM_PARAM (DBMS_METADATA.SESSION_TRANSFORM,'SEGMENT_ATTRIBUTES',false); TRUNCATE TABLE PLAN_TABLE; EXPLAIN PLAN FOR SELECT * FROM ; SELECT DBMS_METADATA.GET_DDL (object_type, object_name, object_owner) FROM plan_table WHERE object_type IN ('TABLE','VIEW'); SELECT DBMS_METADATA.GET_DDL ('INDEX', index_name, index_owner) FROM all_indexes WHERE table_owner, table_name IN ( SELECT object_owner, object_name FROM plan_table p WHERE object_type IN ('TABLE') );
修改代替<your table>
,输入表名。
答案 1 :(得分:0)
您可以生成DDL文件。如果需要处理多个表格,则特别有效
在Apex中使用SQL Workshop&gt;公用事业&gt;生成DDL&gt;创建脚本
选择架构。
选择所需对象(表格,触发器等)
然后选择对象名称(表名,触发器名称等)