在 Oracle 中重命名表或视图的语法是什么?
问问题
170585 次
5 回答
92
ALTER TABLE mytable RENAME TO othertable
在Oracle 10g
还有:
RENAME mytable TO othertable
于 2009-05-07T15:39:29.350 回答
30
要重命名表,您可以使用:
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 中测试)
于 2009-05-08T03:36:12.170 回答
12
为了重命名不同模式中的表,请尝试:
ALTER TABLE owner.mytable RENAME TO othertable;
重命名命令(如“ rename mytable to othertable
”)仅支持重命名同一模式中的表。
于 2009-05-07T16:42:26.487 回答
1
可以用相同的方式重命名索引:
alter index owner.index_name rename to new_name;
于 2009-11-12T13:23:36.723 回答
1
过去 10g 当前答案不再适用于重命名视图。唯一仍然有效的方法是删除并重新创建视图。我能想到的最好的方法是:
SELECT TEXT FROM ALL_VIEWS WHERE owner='some_schema' and VIEW_NAME='some_view';
在返回的 SQL 前面加上这个
创建或替换视图 some_schema.new_view_name 为 ...
放弃旧视图
删除视图 some_schema.some_view;
于 2015-09-08T14:21:37.313 回答