重命名Oracle表或视图

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

ALTER TABLE mytable RENAME TO othertable 

Oracle 10g也:

 RENAME mytable TO othertable 

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

 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中testing)

为了重命名不同模式中的表格,请尝试:

 ALTER TABLE owner.mytable RENAME TO othertable; 

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

可以用同样的方法重新命名索引 :

 alter index owner.index_name rename to new_name; 

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

SELECT TEXT FROM ALL_VIEWS WHERE owner ='some_schema'and VIEW_NAME ='some_view';

将这添加到返回的SQL前面

创build或replace视图some_schema.new_view_name为…

放弃旧的观点

放下视图some_schema.some_view;

    Interesting Posts