定義
一、創建視圖
1、語法 create [or replace ] [ temp | temporary ] view name [(column_name [,...])] as query
2、實例:創建一個可以隱藏password的視圖:
postgres=# create table users( id int, user_name varchar(40), password varchar(256), user_email text, user_mark text ); postgres=# create view vw_users as select id, user_name,user_email,user_mark from users; CREATE VIEW
3、也可以使用temp 或者 temporary 關鍵字來創建視圖,當session結束時,視圖消失:
postgres=# create temp view vw_users as select id,user_name,user_email,user_mark from users; CREATE VIEW postgres=# insert into users values(1,'a','123455','test@163.com'); INSERT 0 1
\q 退出再登陸后消失
4、視圖也能為查詢的各列定義另一個名稱。列如將原來表中的id、user_name、user_email、user_mark等列名重新定義為no、name、email、mark,
postgres=# create view vm_users(no,name,email,mark) as select id,user_name, postgres-# user_email,user_mark from users; CREATE VIEW postgres=# select * from vm_users; no | name | email | mark ----+------+--------------+------ 1 | a | test@163.com | (1 row) postgres=#
二、可更新視圖