如何在APEX中复制带约束,索引等的表?

时间:2014-10-28 14:14:30

标签: oracle oracle-apex

我有一个表,我想复制,但有不同的表名。我需要重复数据,索引,约束。我怎样才能在APEX内完成?

2 个答案:

答案 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;创建脚本

选择架构。

选择所需对象(表格,触发器等)

然后选择对象名称(表名,触发器名称等)

另见Using Oracle Application Express Utilities