腾讯云数据仓库 TCHouse-X ALTER VIEW

ALTER VIEW 语句可以修改与视图关联的元数据。它可以更改视图的定义、将视图名称更改为不同的名称,以及通过设置 TBLPROPERTIES 来设置和取消设置视图的元数据。

相关产品
腾讯云数据仓库 TCHouse-X 产品页,含版本规格、价格与购买入口。

一、重命名视图(RENAME View)

重命名现有视图。如果新视图名称在源数据库中已存在,将抛出 TableAlreadyExistsException。此操作不支持跨数据库移动视图。

如果视图已被缓存,该命令会清除视图及其所有引用依赖项的缓存数据。视图的缓存将在下次访问时延迟填充。该命令会将视图的依赖项置为未缓存状态。

二、语法

ALTER VIEW view_identifier RENAME TO view_identifier

三、参数

参数 说明 语法
view_identifier 指定视图名称,可以选择性地用数据库名进行限定 [ database_name. ] view_name

四、设置视图属性(SET View Properties)

设置现有视图的一个或多个属性。属性是键值对。如果属性的键已存在,值将被新值替换。如果属性的键不存在,键值对将被添加到属性中。

五、语法

ALTER VIEW view_identifier SET TBLPROPERTIES ( property_key = property_val [ , … ] )

六、取消设置视图属性(UNSET View Properties)

删除现有视图的一个或多个属性。如果指定的键不存在,将抛出异常。使用 IF EXISTS 可避免异常。

七、语法

ALTER VIEW view_identifier UNSET TBLPROPERTIES [ IF EXISTS ] ( property_key [ , … ] )

八、修改视图定义(ALTER View AS SELECT)

ALTER VIEW view_identifier AS SELECT 语句用于更改视图的定义。SELECT 语句必须有效,且 view_identifier 必须存在。

注意:ALTER VIEW 语句不支持 SET SERDE 或 SET SERDEPROPERTIES 属性。

九、语法

ALTER VIEW view_identifier AS select_statement

十、示例

— 创建独立数据库和基础表CREATE DATABASE tempdb_view_test;USE tempdb_view_test;CREATE EXTERNAL TABLE base_table (c1 INT, c2 STRING) USING PARQUET LOCATION 'cosn://<your_bucket_name>/test_alter_view/base_table';CREATE VIEW v1 AS SELECT c1, c2 FROM base_table;– 重命名视图ALTER VIEW v1 RENAME TO v2;– 验证视图DESCRIBE TABLE EXTENDED v2;– 设置视图属性ALTER VIEW v2 SET TBLPROPERTIES ('created.by.user' = 'John', 'created.date' = '01-01-2001');– 验证属性DESCRIBE TABLE EXTENDED v2;– 取消设置视图属性ALTER VIEW v2 UNSET TBLPROPERTIES ('created.by.user', 'created.date');ALTER VIEW v2 UNSET TBLPROPERTIES IF EXISTS ('nonexistent_key');– 修改视图定义ALTER VIEW v2 AS SELECT c1 FROM base_table WHERE c1 > 0;– 验证新定义DESCRIBE TABLE EXTENDED v2;– 切回默认数据库USE default;

赞 (0)
上一篇 4天前
下一篇 4天前