説明
このステートメントは、ビューの定義を変更するために使用されます。
権限要件
ALTER VIEW ステートメントを実行するには、現在のユーザーが DROP および CREATE VIEW 権限を持っている必要があります。OceanBaseデータベースの権限の詳細については、MySQLモードの権限分類を参照してください。
構文
ALTER VIEW view_name [(column_name_list)]
AS select_stmt;
column_name_list:
column_name [, column_name ...]
パラメータの説明
| パラメータ | 説明 |
|---|---|
| view_name | ビュー名を指定します。 |
| column_name_list | オプションで、ビューの列名リストを指定します。列名リストが指定されていない場合、SELECT ステートメントで取得された列名がビューの列名として使用されます。SELECT ステートメントで取得される列は、テーブル列への単純な参照である場合もあれば、関数、定数値、演算子などを使用した式である場合もあります。ビューの列名には以下の制限があります:
|
| column_name | ビューの列名です。 |
| select_stmt | ビューを定義するためのクエリ(SELECT)ステートメントです。これにより、ベーステーブルや他のビューから選択できるビューの定義が提供されます。クエリステートメントの具体的な構造とオプションの詳細については、SELECTステートメントを参照してください。 |
例
ビュー v1 の定義を変更して、test_tbl2 内のデータを選択するようにします。
テーブル
test_tbl1を作成します。CREATE TABLE test_tbl1 (col1 INT, col2 INT);テーブル
test_tbl1に基づいてビューv1を作成します。CREATE VIEW v1 AS SELECT * FROM test_tbl1;テーブル
test_tbl2を作成します。CREATE TABLE test_tbl2 (col1 INT, col2 INT, col3 INT);ビュー
v1の定義を変更して、test_tbl2内のデータを選択するようにします。ALTER VIEW v1 AS SELECT * FROM test_tbl2;再度ビュー
v1の定義を確認します。SHOW CREATE VIEW v1;実行結果は次のとおりです:
+------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+ | View | Create View | character_set_client | collation_connection | +------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+ | v1 | CREATE VIEW `v1` AS select `db_test`.`test_tbl2`.`col1` AS `col1`,`db_test`.`test_tbl2`.`col2` AS `col2`,`db_test`.`test_tbl2`.`col3` AS `col3` from `db_test`.`test_tbl2` | utf8mb4 | utf8mb4_general_ci | +------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+ 1 row in set