2

次のようなテーブルに使用するのと同じコマンドを使用して、ビューの列サイズを変更しようとしています:

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

しかし、そのスローエラー

SQL エラー: ORA-00942: テーブルまたはビューが存在しません

では、ビューの列サイズを変更するにはどうすればよいでしょうか?

4

2 に答える 2

5

ビューは単純に保存されたクエリであり、基になるベース テーブルから列の型を "継承" します。したがって、メタデータを変更する必要がある場合は、ビューの定義を変更する必要があります。

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));
于 2018-09-05T16:51:53.093 に答える