ビューの変更

広告

作成済みのビューを変更する方法です。ALTER VIEW文を使います。書式は次の通りです。

ALTER VIEW view_name[(column_list)]  AS select_statement;

基本的にCREATE VIEW文と同じ書式です。既に存在しているビューの名前に対して新しいビューを再定義すると考えて下さい。

なおCREATE VIEW文でOR REPLACE節を付けた次の書式を使った場合と同じです。

CREATE OR REPLACE VIEW view_name[(column_list)]  AS select_statement;

OR REPLACEを付けると、指定したビュー名のビューが存在していなかった場合は新規にビューを作成しますが指定のビュー名のビューが既に存在していた場合は既存のビューを置き換えます。

では実際に試してみます。まずビューを一つ作成します。今回はOR REPLACEを付けて試します。

mysql> create or replace view fruit
    -> as select id, name from products where category = 'Fruit';

p4-1

「fruit」と言う名前のビューは存在しませんので新規にビューが作成されます。では作成されたビューのデータを取得します。

p4-2

次に作成したビューを変更します。次のように入力して下さい。

mysql> alter view fruit(fruitname)
    -> as select name from products where category = 'Fruit';

p4-3

既に存在していた「fruit」ビューを変更しました。具体的には取得するカラムを1つにしカラム名として「fruitname」を指定しました。では「fruit」ビューからデータを改めて取得してみます。

p4-4

「fruit」ビューが変更されていることが確認できます。

( Written by Tatsuo Ikura )