更新时间: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;

相关文档