CREATE VIEWとは、ビューを新規作成したり、既存のビューを置換するSQL文である。
Oracle Database における CREATE VIEW 文の構文を以下に示す。
CREATE [ OR REPLACE ] [ FORCE ] VIEW [schema.]view AS subquery
SQL> CREATE OR REPLACE VIEW example AS SELECT * FROM emp, dept WHERE emp.deptno = dep.deptno;
SQL> CREATE FORCE VIEW example AS SELECT * FROM emp, dept WHERE emp.deptno = dep.deptno;
SQL> CREATE VIEW tsuka.example AS SELECT * FROM emp, dept WHERE emp.deptno = dep.deptno;
自分のスキーマ内にビューを作成するには、CREATE VIEWシステム権限が必要である。
他のユーザーのスキーマ内にビューを作成するには、CREATE ANY VIEWシステム権限が必要である。
ビューを新たに作成する。
CREATE VIEW example AS SELECT ename, dname FROM emp, dept WHERE emp.deptno = dept.deptno
既存のビューを置き換える。
CREATE OR REPLACE VIEW example AS SELECT ename, job, dname FROM emp, dept WHERE emp.deptno = dept.deptno
MySQL における CREATE VIEW 文の構文を以下に示す。
CREATE
[OR REPLACE]
[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
[DEFINER = user]
[SQL SECURITY { DEFINER | INVOKER }]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
PostgreSQL における CREATE VIEW 文の構文を以下に示す。
CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] [ RECURSIVE ] VIEW name [ ( column_name [, ...] ) ]
[ WITH ( view_option_name [= view_option_value] [, ... ] ) ]
AS query
SQL Server における CREATE VIEW 文の構文を以下に示す。
CREATE [ OR ALTER ] VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ]
[ WITH [ ENCRYPTION ] [ SCHEMABINDING ] [ VIEW_METADATA ] [ ,...n ] ]
[ WITH CHECK OPTION ]
Oracle (2023) CREATE VIEW ステートメント MySQL 8.0 リファレンスマニュアル