Search code examples
sqloracle-databaseviewaltercolumn-sizing

How to alter column size of a view in Oracle


I am trying to alter the column size of a view with the same command that we use for table like :

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

But its throwing error

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

So how we can alter the column size of a view?


Solution

  • Here is the procedure that I followed :

    1- First find the base table for that view by running the following query

    SELECT * FROM DBA_DEPENDENCIES
    WHERE OWNER = '<scheman_name>'
    AND NAME = '<view_name>'
    AND TYPE = 'VIEW';
    

    2- Above query will you a table where you will find the base table under the column name 'REFERENCED_NAME'.

    3- Now Change the column size of that base table.

    NOTE: The view can be made up of 1 or more than 1 tables, so you need to change the column size of all those base tables.