CREATE VIEW visão [ ( nomes_de_colunas ) ] AS SELECT consulta
O nome da visão a ser criada.
Uma relação opcional de nomes a serem usados para as colunas da visão. Quando fornecidos, estes nomes substituem os nomes inferidos a partir da consulta SQL.
Uma consulta SQL que fornece as colunas e as linhas da visão.
Consulte o comando SELECT para obter mais informações sobre os argumentos válidos.
Mensagem retornada se a visão for criada com sucesso.
Este erro ocorre se a visão especificada existir no banco de dados.
A visão será criada possuindo uma coluna de tipo desconhecido se não for especificado. Por exemplo, o seguinte comando gera esta advertência:
CREATE VIEW vista AS SELECT 'Alô Mundo'; NOTICE: Attribute '?column?' has an unknown type Proceeding with relation creation anyway
enquanto o comando abaixo não gera esta advertência:
CREATE VIEW vista AS SELECT text 'Alô Mundo'
O comando CREATE VIEW define uma visão de uma tabela. A visão não é fisicamente materializada. Em vez disso, uma regra é automaticamente gerada para realizar o retorno dos dados da consulta.
Atualmente, as visões são apenas para leitura: o sistema não permite inclusão, atualização ou exclusão em uma visão. É possível obter o efeito de uma visão atualizável criando-se regras que troquem as inclusões, ... na visão por ações apropriadas em outras tabelas. Para mais informações consulte o comando CREATE RULE.
Use o comando DROP VIEW para excluir visões.
Criar uma visão consistindo de todos os filmes de comédia:
CREATE VIEW comedias AS SELECT * FROM filmes WHERE tipo = 'Comédia'; SELECT * FROM comedias; cod | titulo | did | data_prod | tipo | duracao -------+---------------------------+-----+------------+---------+-------- UA502 | Bananas | 105 | 1971-07-13 | Comédia | 01:22 C_701 | There's a Girl in my Soup | 107 | 1970-06-11 | Comédia | 01:36 (2 rows)
O SQL92 especifica algumas funcionalidades adicionais para o comando CREATE VIEW:
CREATE VIEW visão [ coluna [, ...] ] AS SELECT expressão [ AS nome_da_coluna ] [, ...] FROM tabela [ WHERE condição ] [ WITH [ CASCADE | LOCAL ] CHECK OPTION ]
As cláusulas opcionais para o comando SQL92 completo são:
Esta opção está relacionada com as visões atualizáveis. Todos os comandos INSERT e UPDATE em uma visão serão verificados para garantir que os dados satisfazem as condições que definem a visão. Se não satisfizer, a atualização será rejeitada.
Verifica a integridade nesta visão.
Verifica a integridade nesta visão e em todas as visões dependentes. CASCADE é assumido se nem CASCADE nem LOCAL forem especificados.