重命名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;