¾�ΥС�������ʸ�� �� 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

CREATE VIEW

名前

CREATE VIEW -- �������ӥ塼���������

概要

CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] [ RECURSIVE ] VIEW name [ ( column_name [, ...] ) ]
    [ WITH ( view_option_name [= view_option_value] [, ... ] ) ]
    AS query

����

CREATE VIEW���䤤��碌�ˤ��ӥ塼��������ޤ��� �ӥ塼��ʪ��Ū�ʼ��ΤȤ���¸�ߤ����ΤǤϤ���ޤ��� �������ꡢ�䤤��碌�ǥӥ塼�����Ȥ�����٤ˡ����ꤵ�줿�䤤��碌���¹Ԥ���ޤ���

CREATE OR REPLACE VIEW��Ʊ�ͤ�Ư���򤷤ޤ����� ���Υ��ޥ�ɤǤϡ�Ʊ��̾���Υӥ塼������¸�ߤ��Ƥ����硢���Υӥ塼���֤������ޤ��� �������䤤��碌�ϡ���¸�Υӥ塼�䤤��碌�������������Ʊ����(�ĤޤꡢƱ�������Ʊ���ǡ�������Ʊ����̾)���������ʤ���Фʤ�ޤ��� �����������Υꥹ�ȤκǸ������ɲä��Ƥ⹽���ޤ��� ���������������׻���ޤä����ۤʤ��Τˤ��Ƥ⹽���ޤ���

��������̾���դ����Ƥ�������㤨�С�CREATE VIEW myschema.myview ...�ˡ��ӥ塼�ϻ��ꤵ�줿�������ޤǺ�������ޤ��� ��������̾���ʤ���С����Υӥ塼�ϸ��ߤΥ������ޤǺ�������ޤ��� ����ӥ塼�����̤ʥ������ޤǺ�������ޤ��� ���Τ��ᡢ����ӥ塼�����������ˤϥ�������̾���դ��뤳�ȤϤǤ��ޤ��� �ӥ塼̾�ϡ�Ʊ�������������¾�Υӥ塼���ơ��֥롢�������󥹡�����ǥå����������ơ��֥�Ȥϰۤʤ�̾���Ǥ���ɬ�פ�����ޤ���

�ѥ�᡼��

TEMPORARY or TEMP

���줬���ꤵ�줿��硢�ӥ塼�ϰ���ӥ塼�Ȥ��ƺ�������ޤ��� ���ߤΥ��å���󤬽���ä���������ӥ塼�ϼ�ưŪ�˺������ޤ��� ����ӥ塼��¸�ߤ���֡����ߤΥ��å����Ǥϡ������Ʊ��̾���α�³��졼�����ϥ������ޤǽ�������̾���ǻ��Ȥ��Ƥ��ʤ��¤��ԲĻ�Ǥ���

�ӥ塼�ǻ��Ȥ����ơ��֥�ΰ���������ơ��֥�Ǥ��ä���硢��TEMPORARY�λ��꤬���äƤ�ʤ��Ƥ�˥ӥ塼�ϰ���ӥ塼�Ȥ��ƺ�������ޤ���

RECURSIVE

�Ƶ�Ū�ӥ塼��������ޤ��� �ʲ��ι�ʸ

CREATE RECURSIVE VIEW name (columns) AS SELECT ...;

CREATE VIEW name AS WITH RECURSIVE name (columns) AS (SELECT ...) SELECT columns FROM name;

��Ʊ���Ǥ��� �Ƶ�Ū�ӥ塼�Ǥϥӥ塼����ꥹ�Ȥ���ꤹ��ɬ�פ�����ޤ���

name

��������ӥ塼��̾���Ǥ��ʥ������޽���̾��ġˡ�

column_name

�ӥ塼����̾�Ȥ��ƻ��Ѥ���̾���Υꥹ�ȤǤ������Υѥ�᡼���Ͼ�ά��ǽ�Ǥ�����ά���줿��硢�䤤��碌��ͳ�褹��̾�������Ѥ���ޤ���

WITH ( view_option_name [= view_option_value] [, ... ] )

���ζ�ϥӥ塼�Ѥξ�ά��ǽ�ʥѥ�᡼������ꤷ�ޤ��� �������ǥ��ݡ��Ȥ����ѥ�᡼��̾��security_barrier�ΤߤǤ��� �ԥ�٥�Υ������ƥ����󶡤��뤳�Ȥ�տޤ����ӥ塼�Ǥϡ������ͭ���ˤ��ʤ���Фʤ�ޤ��� �ܺ٤ˤĤ��Ƥ�項38.5�򻲾Ȥ��Ƥ���������

query

�ӥ塼����ȹԤ���������SELECT�ޤ���VALUES���ޥ�ɤǤ���

����

�ӥ塼��������ˤϡ�DROP VIEWʸ����Ѥ��Ƥ���������

�ӥ塼�����̾���ȷ��ϻ����̤�˳�����Ƥ��뤳�Ȥ����դ��Ƥ��������� �㤨�С����Υ��ޥ�ɤ򸫤Ƥ���������

CREATE VIEW vista AS SELECT 'Hello World';

������ϡ�����2�����鹥�ޤ�������ޤ��� �ޤ������̾�����ǥե���Ȥ�?column?�ˤʤ�ޤ�������ˡ���Υǡ�������ǥե���Ȥ�unknown�ˤʤäƤ��ޤ��ޤ��� �ӥ塼�η�̤Ȥ���ʸ����ƥ����֤��������ϡ����Τ褦�˻��ꤷ�Ƥ���������

CREATE VIEW vista AS SELECT text 'Hello World' AS hello;

�ӥ塼�����Ȥ���ơ��֥�˥��������Ǥ��뤫�ɤ����ϡ��ӥ塼�ν�ͭ�Ԥθ��¤Ƿ��ꤵ��ޤ��� ����ϡ����ˤ�äƤϡ��ظ�Υơ��֥�ؤΥ������������¤���ޤ��������������󶡤��뤿��˻��Ѥ��뤳�Ȥ��Ǥ��ޤ��� ���������٤ƤΥӥ塼�������ʲ��Ѥ��Ф��ư����ǤϤ���ޤ��� 項38.5�򻲾Ȥ��Ƥ��������� �ӥ塼��Ǽ¹Ԥ����ؿ��ˤĤ��Ƥϡ��ӥ塼����Ѥ����䤤��碌�ˤ����ơ����δؿ���ľ�ܸƤӽФ��줿����Ʊ�ͤ˰����ޤ��� �������äơ��ӥ塼����Ѥ���桼���ˤϡ��ӥ塼��ǻ��Ѥ�������Ƥδؿ���ƤӽФ����¤�ɬ�פǤ���

CREATE OR REPLACE VIEW����¸�Υӥ塼���Ф��ƻ��Ѥ����ȡ��ӥ塼���������SELECT�롼��Τߤ��ѹ�����ޤ��� ��ͭ�Ծ��󡢸��¡�SELECT�ʳ��Υ롼��ʤ�¾�Υӥ塼��°���Ϥ��Τޤ��ѹ�����ޤ��� �֤������뤿��ˤϥӥ塼�ν�ͭ�ԡʽ�ͭ������Υ��ФǤ������ޤ�ˤǤʤ���Фʤ�ޤ���

������ǽ�ӥ塼

��ñ�ʥӥ塼�ϼ�ưŪ�˹�����ǽ�Ǥ��� �����ƥ�ϡ��ӥ塼���Ф���INSERT��UPDATE��DELETEʸ���̾�Υơ��֥�ξ���Ʊ����ˡ�ǻ��ѤǤ���褦�ˤ��ޤ��� �ʲ��ξ��Τ��٤Ƥ����������ˡ��ӥ塼�ϼ�ưŪ�˹�����ǽ�Ǥ���

�ӥ塼����ư������ǽ�Ǥ���С������ƥ�ϥӥ塼���Ф���INSERT��UPDATE�ޤ���DELETEʸ���Ȥʤ�١�����졼�����ؤ��б�����ʸ���Ѵ����ޤ���

��ư������ǽ�ӥ塼��WHERE������ľ�硢 �١�����졼�����ΤɤιԤ�ӥ塼���Ф���UPDATE��DELETEʸ�ˤ���ѹ���ǽ���򤽤ξ�郎���¤��ޤ��� ������UPDATE�ˤ��Ԥ��ѹ��η��WHERE���������ʤ��ʤ뤳�Ȥ��������ޤ��� ���ξ�硢�ӥ塼����ϻ��Ȥ��뤳�Ȥ��Ǥ��ʤ��ʤ�ޤ��� Ʊ�ͤ�INSERTWHERE�����������ʤ��Ԥ�١�����졼���������������ǽ�������ꡢƱ�ͤ˥ӥ塼���̤��ƻ��Ȥ��뤳�Ȥ��Ǥ��ޤ���

�����ξ��򤹤٤��������ʤ����ʣ���ʥӥ塼�ϥǥե���Ȥ��ɤ߼�����ѤǤ��� �����ƥ�ϥӥ塼���Ф����������������������Ĥ��ޤ��� �ӥ塼���Ф���INSTEAD OF�ȥꥬ��������뤳�Ȥǡ�������ǽ�ӥ塼�θ��̤����뤳�Ȥ��Ǥ��ޤ��� ���Υȥꥬ�ϥӥ塼���Ф���������Ԥʤɤ�¾�Υơ��֥���Ф���Ŭ�ڤ������Ѵ������ΤǤʤ���Фʤ�ޤ��� �ܺ٤ˤĤ��Ƥ�CREATE TRIGGER�򻲾Ȥ��Ƥ��������� ¾�ˤ�롼�����������CREATE RULE���ȡˤ��ȤǤ�¸��Ǥ��ޤ������ºݤˤϥȥꥬ���������򤷤䤹�����������Ѥ��뤳�Ȥ��Ǥ��ޤ���

�ӥ塼���Ф��������������������Ԥ��桼���ϡ��ӥ塼���Ф����б�����������������������¤�����ʤ���Фʤ�ޤ��� ����˥ӥ塼�ν�ͭ�Ԥϴ�Ȥʤ�١�����졼�������Ф���Ŭ�ڤʸ��¤�����ʤ���Фʤ�ޤ��� ��������������Ԥ��桼���ϴ�Ȥʤ�١�����졼�������Ф��븢�¤�ޤä���ɬ�פȤ��ޤ����項38.5���ȡˡ�

��

���ƤΥ���ǥ��Dz��Comedy films�ˤ���ʤ�ӥ塼��������ޤ���

CREATE VIEW comedies AS
    SELECT *
    FROM films
    WHERE kind = 'Comedy';

����ϥӥ塼���������������film�ơ��֥���ˤ��������ĥӥ塼��������ޤ��� �ӥ塼��������뤿���*�����Ѥ���Ƥ��ޤ��������θ�˥ơ��֥���ɲä��줿��ϥӥ塼�ˤϴޤޤ�ޤ���

1����100�ޤǤο�����ʤ�Ƶ�Ū�ӥ塼��������ޤ���

CREATE RECURSIVE VIEW nums_1_100 (n) AS
    VALUES (1)
UNION ALL
    SELECT n+1 FROM nums_1_100 WHERE n < 100;

�ߴ���

ɸ��SQL��CREATE VIEWʸ�ˤϡ�����ˤ����Ĥ��ε�ǽ�����ꤵ��Ƥ��ޤ���

CREATE VIEW name [ ( column_name [, ...] ) ]
    AS query
    [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]

����SQL���ޥ�ɤ����ƤΥ��ץ�����ˤĤ��ơ������������ޤ���

CHECK OPTION

���Υ��ץ����ϼ�ư������ǽ�ӥ塼��ư������椷�ޤ��� ���ꤵ���ȡ��ӥ塼���Ф���INSERT�����UPDATE���ޥ�ɤϡ��������Ԥ��ӥ塼����ξ���μ¤����������ʤĤޤ꿷�����Ԥ��ӥ塼���̤��ƻ��ȤǤ��뤫�˸�\\ ������ޤ��� �������ʤ����Ϲ����ϵ��ݤ���ޤ��� CHECK OPTION���ʤ���硢�ӥ塼���Ф���INSERT�����UPDATE�ˤ�ꡢ�ӥ塼���̤��ƻ��ȤǤ��ʤ��Ԥ�������뤳�Ȥ��Ǥ��ޤ��� �ʸ������Ǥϸ�Ԥ�ư���PostgreSQL�ˤ�äƤΤ��󶡤���Ƥ��ޤ�����

LOCAL

���Υӥ塼���������򸡺����ޤ���

CASCADED

���Υӥ塼�Ȱ�¸���Ƥ������ƤΥӥ塼���������򸡺����ޤ��� CASCADED�ޤ���LOCAL�Τ��������ꤵ��Ƥ��ʤ����ϡ�CASCADED�Ȥ��ư����ޤ���

CREATE OR REPLACE VIEW��PostgreSQL�θ����ĥ�Ǥ��� �Ĥޤ����ӥ塼�Ȥ�����ǰ������ĥ�Ǥ��� Ʊ�ͤ�WITH����ĥ�Ǥ���

��Ϣ����

ALTER VIEW, DROP VIEW, CREATE MATERIALIZED VIEW