sql - 如何更改 Oracle 中 View 的列大小

标签 sql oracle view alter column-sizing

我正在尝试使用与表相同的命令来更改 View 的列大小,例如:

alter table 
STUDENT
modify (
    ROLL_NO VARCHAR2(80)
);

但它抛出错误

SQL Error: ORA-00942: table or view does not exist

那么我们如何改变 View 的列大小呢?

最佳答案

View 只是保存的查询并从底层基表“继承”列类型。因此,如果您需要更改元数据,您应该更改 View 定义:

ALTER VIEW view_students
AS
SELECT CAST(roll_no AS VARCHAR2(80)) AS roll_no,
     ...
FROM tab_students;

如果您想更改数据类型以存储更长的字符串,那么您需要找到基表并更改它:

ALTER VIEW tab_students
MODIFY (ROLL_NO VARCHAR2(80));

关于sql - 如何更改 Oracle 中 View 的列大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52190050/

相关文章:

database - 外部表引用Postgres 9.5

xcode - 如何在 Xcode 4 中将 View 转换为横向模式

sql - Apache Nifi 中的 ExecuteSQL 处理器

MySQL 查询获取 2 个月前的所有行

sql - Microsoft SQL Server 中 mm/yy 的正则表达式

sql - 带有 XMLTABLE 的 Xpath

xml - pl/sql : converting xmltype to node

sql - 选择所有元素都满足条件的组

android - 方向更改时 fragment View 为空

sql - Postgresql 创建 View