如何从视图中删除列

Posted

技术标签:

【中文标题】如何从视图中删除列【英文标题】:How to delete a column from a view 【发布时间】:2012-09-30 10:11:22 【问题描述】:

我正在尝试从视图中删除一列,但似乎无法执行此操作,因为显然缺少关键字。谁能告诉我我错过了什么?

ALTER VIEW REORDERINFO DROP COLUMN name;

再次尝试后,我得到了以下信息:

SQL> ALTER VIEW REORDERINFO
AS SELECT isbn,title, phone
FROM books JOIN publisher USING (pubid);

第 2 行出现错误:ORA-00922:缺少或无效选项

【问题讨论】:

【参考方案1】:

您不能使用ALTER VIEW 删除列。要重新创建不带列的视图,请使用 CREATE OR REPLACE VIEW

来自Oracle documentation:

使用ALTER VIEW 语句显式重新编译无效的视图或 修改视图约束。

来源:Oracle® 数据库 SQL 语言参考 11g 第 2 版 (11.2) E26088-01

【讨论】:

以上是关于如何从视图中删除列的主要内容,如果未能解决你的问题,请参考以下文章

选择时如何从配置单元视图中丢弃分区列?

如何从数据视图中选择单个分组列?

phpmyadmin:从多个表创建的视图现在 id 字段不是唯一的,无法编辑,更新删除

如何向视图添加列?

如何从列标题菜单中删除列

BigQuery:从视图中查询时出错