VIEW を作成するには「CREATE VIEW」、削除するには「DROP VIEW」を使用します。変更するには消してから再作成するか、「CREATE OR REPLACE VIEW」を使用します。
VIEW の作成方法
CREATE VIEW VIEWの名前 AS
SELECT文
;
- 指定した VIEWが 存在するとエラーが発生します。
--VIEW「VIEW_DBLIST」の作成
CREATE VIEW VIEW_DBLIST AS
SELECT oid, datname
FROM
pg_database
;
VIEW の削除方法
VIEW が無い時にエラーにする場合DROP VIEW VIEWの名前;
VIEW が無い時にエラーにしない場合
DROP VIEW IF EXISTS VIEWの名前;
サンプルコード
--VIEW「VIEW_DBLIST」 の削除
DROP VIEW VIEW_DBLIST;
--VIEW「VIEW_DBLIST」があれば削除
DROP VIEW IF EXISTS VIEW_DBLIST;
VIEW の変更方法
PostgreSQL の ALTER VIEW はできることが限られているので、 DROP VIEW で削除してから再作成します。VIEW があれば変更、無ければ作成
CREATE OR REPLACE VIEW VIEWの名前 AS
SELECT文
;
サンプルコード
--VIEW「VIEW_DBLIST」が無ければ作成、あれば変更
CREATE OR REPLACE VIEW VIEW_DBLIST AS
SELECT *
FROM pg_database
WHERE oid > 0
;
検証環境
- PostgreSQL 13.2 on x86_64-pc-linux-musl, compiled by gcc (Alpine 10.2.1_pre1) 10.2.1 20201203, 64-bit
- Docker image: postgres:13-alpine
- pgAdmin 4 Version 5.1
- Docker image: dpage/pgadmin4
- Microsoft Windows 10 Pro Version 20H2 OS Build 19042.906 Experience: Windows Feature Experience Pack 120.2212.551.0
- Docker Desktop 3.3.0(62916)
- Docker Engine 20.10.5