Instrução CREATE VIEW Instrução CREATE VIEW Visõescriação

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.