我正在尝试使用与表相同的命令来更改 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/