【问题标题】:Oracle table name changeOracle 表名更改
【发布时间】:2013-09-16 03:05:45
【问题描述】:

如果我必须重命名具有同义词、分区、其他用户读取权限等的表。

在不影响所有这些的情况下,最好的重命名方法是什么?

一个快速的谷歌搜索引导我到

ALTER TABLE OLD_NAME RENAME TO NEW_NAME

如果这是正确的方法,请告诉我

感谢和问候

【问题讨论】:

  • 看看这里(保留赠款等):rename

标签: oracle ddl dml


【解决方案1】:

重命名表时,授权、分区、索引、触发器和约束不受影响。

但是,对表的引用不会自动更新 - 因此您需要修复任何同义词以及引用该表的任何代码(例如,在视图、存储过程、包和其他表上的触发器中)直接。

http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_3001.htm#sthref5046

【讨论】:

    【解决方案2】:

    是的,在 oracle 中重命名表是一种正确的方法,或者您可以使用,

    RENAME old_name TO new_name;
    

    但它会使依赖于该表的所有对象无效。

    【讨论】:

      猜你喜欢
      • 2012-10-28
      • 1970-01-01
      • 2017-12-18
      • 1970-01-01
      • 1970-01-01
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      • 2018-09-27
      相关资源
      最近更新 更多