
# CREATE VIEW
#### 功能描述
创建一个视图。视图与基本表不同，是一个虚拟的表。数据库中仅存放视图的定义，而不存放视图对应的数据，这些数据仍存放在原来的基本表中。若基本表中的数据发生变化，从视图中查询出的数据也随之改变。从这个意义上讲，视图就像一个窗口，透过它可以看到数据库中用户感兴趣的数据及变化。
#### 注意事项
被授予CREATE ANY TABLE权限的用户，可以在public模式和用户模式下创建视图。
#### 语法格式
```
CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] VIEW view_name [ ( column_name [, ...] ) ]
    [ WITH ( {view_option_name [= view_option_value]} [, ... ] ) ]
    AS query;
```
![](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
创建视图时使用WITH(security_barrier)可以创建一个相对安全的视图，避免攻击者利用低成本函数的RAISE语句打印出隐藏的基表数据。
当视图创建后，不允许使用REPLACE修改本视图当中的列名，也不允许删除列。
#### 参数说明
- **OR REPLACE**
  如果视图已存在，则重新定义。
  
- **TEMP \| TEMPORARY**
  创建临时视图。
  
- **view_name**
  要创建的视图名称。可以用模式修饰。
  取值范围：字符串，符合[标识符命名规范](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0327.html#ZH-CN_TOPIC_0000002235339153__zh-cn_topic_0000002235101877_section1257443811315)。
  
- **column_name**
  可选的名称列表，用作视图的字段名。如果没有给出，字段名取自查询中的字段名。
  取值范围：字符串，符合[标识符命名规范](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0327.html#ZH-CN_TOPIC_0000002235339153__zh-cn_topic_0000002235101877_section1257443811315)。
  
- **view_option_name \[= view_option_value\]**
  该子句为视图指定一个可选的参数。
  目前view_option_name支持的参数仅有security_barrier，当VIEW试图提供行级安全时，应使用该参数。
  取值范围：Boolean类型，TRUE、FALSE
  
- **query**
  为视图提供行和列的SELECT或VALUES语句。
  ![](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
  若query包含指定分区表分区的子句，创建视图会将所指定分区的OID硬编码到系统表中。如果使用导致指定分区的OID发生变更的分区DDL语法，如DROP/SPLIT/MERGE该分区，则会导致视图不可用。需要重新创建视图。
  
 
#### 示例
```
--创建字段spcname为pg_default组成的视图。
gaussdb=# CREATE VIEW myView AS
    SELECT * FROM pg_tablespace WHERE spcname = 'pg_default';
--查看视图。
gaussdb=# SELECT * FROM myView ;
--删除视图myView。
gaussdb=# DROP VIEW myView;
```
#### 相关链接
[ALTER VIEW](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0510.html#ZH-CN_TOPIC_0000002200578994)，[DROP VIEW](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0617.html#ZH-CN_TOPIC_0000002200419398)
