CREATE VIEW 是一个用于定义视图的 DDL 命令。
CREATE VIEW 一直存在于 PostgreSQL 中。
变更历史
- PostgreSQL 15
- 添加了
security_invoker选项 (提交 7faa5fc8)
- 添加了
- PostgreSQL 9.4
- 添加了
WITH [ CASCADED | LOCAL ] CHECK OPTION语法(提交 4cbe3ac3)
- 添加了
- PostgreSQL 9.3
- 添加了
CREATE [ RECURSIVE ] VIEW ...语法(提交 58390526)
- 添加了
- PostgreSQL 9.2
- 添加了
CREATE VIEW ... WITH ( view_option_name [= view_option_value] )语法(提交 0e4611c0)
- 添加了
- PostgreSQL 8.1
- 添加了
CREATE [ TEMP | TEMPORARY ] VIEW ...语法(提交 73f63050)
- 添加了
- PostgreSQL 7.3
- 添加了
CREATE [ OR REPLACE ] VIEW语法(提交 248c67d7)
- 添加了
示例
CREATE VIEW 的基本用法示例
postgres=# CREATE VIEW bar AS SELECT * FROM foo WHERE id % 2 <> 0;
CREATE VIEW
postgres=# \d+ bar
View "public.bar"
Column | Type | Collation | Nullable | Default | Storage | Description
--------+---------+-----------+----------+---------+---------+-------------
id | integer | | | | plain |
View definition:
SELECT foo.id
FROM foo
WHERE (foo.id % 2) <> 0;
postgres=# INSERT INTO foo VALUES (1),(2),(3);
INSERT 0 3
postgres=# SELECT * FROM bar ;
id
----
1
3
(2 rows)
参考资料
- PostgreSQL 文档: CREATE VIEW
