Instrução CREATE VIEW

As visões são tabelas virtuais formadas por uma consulta. A visão é um objeto do dicionário que pode ser utilizado, até ser removido.

As visões não são atualizáveis.

Se for especificado um nome de visão qualificado, o nome do esquema não poderá começar por SYS.

Sintaxe

CREATE VIEW nome-da-visão
    [ ( nome-de-coluna-simples [, nome-de-coluna-simples] * ) ]
AS Consulta 

A definição da visão pode conter uma lista de colunas da visão, opcional, para atribuir nomes explícitos às colunas da visão. Se não houver uma lista de colunas, a visão herdará os nomes de coluna da consulta subjacente. Todas as colunas da visão devem possuir nomes únicos.

CREATE VIEW SAMP.V1 (COL_SUM, COL_DIFF)
        AS SELECT COMISS + BÔNUS, COMISS - BÔNUS
        FROM SAMP.EMPREGADOS;

CREATE VIEW SAMP.V_EMP_CURR (CURRICULUM)
        AS VALUES 'Delores M. Quintana', 'Heather A. Nicholls', 'Bruce Adamson';

CREATE VIEW SAMP.PROJ_COMBO
        (NUM_PROJ, PROJ_DATA_FIM, PROJ_EQUIPE, PROJ_CHEFE)
        AS SELECT NUM_PROJ, PROJ_DATA_FIM, PROJ_EQUIPE, PROJ_CHEFE
        FROM SAMP.PROJETO
        UNION ALL
        SELECT NUM_PROJ, EMSTDATE, EMPTIME, NUM_EMP
        FROM SAMP.ATIV_EMP
        WHERE NUM_EMP IS NOT NULL;

Sistema de dependência de instrução

As definições das visões são dependentes das tabelas e visões referenciadas na definição da visão. As instruções de DML (linguagem de manipulação de dados) que contêm referência a visões dependem destas visões, assim como dos objetos nas definições das visões dos quais as visões dependem. As instruções que fazem referência à visão dependem dos índices que as visões utilizam; o índice utilizado pela visão pode mudar de uma instrução para outra, baseado em como a consulta é otimizada. Por exemplo, dado:
CREATE TABLE T1 (C1 DOUBLE PRECISION);

CREATE FUNCTION SIN (DATA DOUBLE)
        RETURNS DOUBLE EXTERNAL NAME 'java.lang.Math.sin'
        LANGUAGE JAVA PARAMETER STYLE JAVA;

CREATE VIEW V1 (C1) AS SELECT SIN(C1) FROM T1;
então a instrução a seguir:
SELECT * FROM V1

é dependente da visão V1, da tabela T1, e da função escalar externa SIN.

Referências relacionadas
Instrução CREATE FUNCTION
Instrução CREATE INDEX
Instrução CREATE PROCEDURE
Instrução CREATE SCHEMA
Instrução CREATE SYNONYM
Instrução CREATE TABLE
Instrução CREATE TRIGGER