数据库有表A,上面有索引,主键等约束,另外有一个表结构一样的B,怎样才能把表B变成表A,也就是数据是表B的,但原表A的索引,主键,外键等约束继续保留。我用rename B to A的话,表A的约束全部没有了。请教高手。不要说用truncate A,然后insert A select from B,这样太慢了。
解决方案 »
- 请教:all_all_tables left outer join all_tab_comments 速度奇慢,如何调优,谢谢!
- 奇怪的ora-12514
- ORACLE怎么识别数据库连来源,是程序连接的还是ORACLE本身自带的管理软件(sqlplus/plsqldev等)
- 请教一个SQL
- left outer join 问题
- 怎樣才能讓Oracle客戶端備分Oracle服務器里的表或數據?
- 简单问题。关于游标的问题。来着有分,帮着up同样有分。
- Oracle安装问题,来者给分!!
- 传参的问题
- PHP怎么获取oracle存储过程返回的游标
- sql语句优化问题
- oracle 导入库时报错 IMP-00003: 遇到 ORACLE 错误 1115
最后rename后又重新把约束,索引,触发器挨个重新加上去。
V_TABLENAME VARCHAR2(100):='AC02';
V_SQL VARCHAR2(4000);
BEGIN
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',false); SELECT DBMS_METADATA.GET_DDL('TABLE',V_TABLENAME) INTO V_SQL FROM DUAL; DBMS_OUTPUT.PUT_LINE(''||'==>'||V_SQL);
END;