ALTER VIEW
描述
该语句用于修改视图的定义。
权限要求
执行 ALTER VIEW 语句,需要当前用户拥有 DROP 和 CREATE VIEW 权限。有关 seekdb 权限的详细介绍,参见 seekdb 的权限分类。
语法
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 (0.001 sec)