【发布时间】:2013-12-14 09:34:49
【问题描述】:
决定将几个现有的表连接到一个集群中。
这显然意味着需要重新创建表以便将它们聚集在一起,但是应该保留现有数据。
当然,我认为该程序将类似于以下内容:
- 以不同的名称备份现有表(通过重命名或其他方式)
- 在旧名称下创建新的聚簇表
- 将备份表中的所有数据复制到新创建的表中
但是,当前表分配了相当多的触发器(如果我在这里错了,请纠正我)当我对该表执行重命名操作时,我假设所有触发器都按方便的顺序分配给它将重构自己以匹配新名称。
在这种情况下,完美的场景可能是触发器在重命名后暂时从表中“分离”(仍然指向当时不存在的旧表名),然后是一次当新创建的聚簇表出现时再次起作用。
但是我不确定这是否可能。
所以这里的问题是:我可以在重命名表时留下触发器,还是应该手动处理它们?
【问题讨论】:
-
你不能直接复制旧表作为备份,然后修改现有表,修改后将旧数据复制回来吗?
标签: database oracle table-rename