重命名Oracle表或视图

时间:2009-05-07 15:38:21

标签: oracle table-rename

在Oracle中重命名表或视图的语法是什么?

5 个答案:

答案 0 :(得分:79)

ALTER TABLE mytable RENAME TO othertable

Oracle 10g中:

RENAME mytable TO othertable

答案 1 :(得分:27)

要重命名您可以使用的表:

RENAME mytable TO othertable;

ALTER TABLE mytable RENAME TO othertable;

或者,如果由其他架构拥有:

ALTER TABLE owner.mytable RENAME TO othertable;

有趣的是,ALTER VIEW不支持重命名视图。但是你可以:

RENAME myview TO otherview;

RENAME命令仅适用于您自己的架构的表,视图,序列和私有同义词。

如果视图不在您的架构中,您可以使用新名称重新编译视图,然后删除旧视图。

(在Oracle 10g中测试)

答案 2 :(得分:10)

要重命名不同架构中的表,请尝试:

ALTER TABLE owner.mytable RENAME TO othertable;

重命名命令(如“rename mytable to othertable”中所述)仅支持在同一模式中重命名表。

答案 3 :(得分:1)

可以rename indexes以同样的方式:

alter index owner.index_name rename to new_name;

答案 4 :(得分:1)

过去10g当前的答案不再适用于重命名视图。 唯一仍然有效的方法是删除并重新创建视图。 我能想到的最好方法是:

  

从ALL_VIEWS中选择文字WHERE owner =' some_schema'和VIEW_NAME =' some_view';

在返回的SQL前面添加它

  

创建或替换视图some_schema.new_view_name为...

删除旧视图

  

删除视图some_schema.some_view;