更新时间:2026-07-03 GMT+08:00
创建视图
功能描述
创建视图。
语法格式
CREATE [OR REPLACE] VIEW view_name
[WITH SCHEMA { BINDING | COMPENSATION | EVOLUTION | TYPE EVOLUTION }]
AS select_statement; 关键字
- CREATE VIEW:基于给定的select语句创建视图,不会将select语句的结果写入磁盘。
- OR REPLACE:指定该关键字后,若视图已经存在将不报错,并根据select语句更新视图的定义。
- WITH SCHEMA:指定视图的Schema管理策略。
- BINDING:严格绑定,底层表结构变化时视图失效。
- COMPENSATION:补偿模式(默认),容忍列类型变化。
- EVOLUTION:演进模式,自动跟随底层表Schema变化。
- TYPE EVOLUTION:类型演进,仅限列类型演进。
注意事项
- 所要创建的视图必须是当前数据库下不存在的,否则会报错。当视图存在时,可通过增加OR REPLACE关键字来避免报错。
- 视图中包含的表或视图信息不可被更改,如有更改可能会造成查询失败。
- 如果创建表和创建视图使用的计算引擎不一致,可能会因为varchar类型不兼容,导致视图查询失败。
示例
先通过对student表中的id和name数据进行查询,并以该查询结果创建视图student_view。
CREATE VIEW student_view AS SELECT id, name FROM student;
创建带Schema演进策略的视图:
CREATE VIEW student_view WITH SCHEMA EVOLUTION AS SELECT id, name FROM student;
父主题: 视图