VIEW - VISÕES Professor Esp. Diego André Sant’Ana E-mail: diego.santana@ifms.edu.br Disciplina: Banco de Dados II professordiegosantana.wordpress.com
CREATE VIEW CREATE VIEW -- comando para definir uma nova visão de uma consulta. A visão não é fisicamente materializada. Em vez disso, a consulta é executada toda vez que a visão é referenciada em uma consulta.
CREATE OR REPLACE VIEW CREATE OR REPLACE VIEW é semelhante, mas se uma visão do mesmo nome já existir, ele será substituído. A nova consulta deve gerar as mesmas colunas que foram gerados pela consulta exibição existente (isto é, os mesmos nomes de colunas na mesma ordem e com os mesmos tipos de dados), mas pode adicionar colunas adicionais para o fim da lista. Os cálculos que deram origem às colunas de saída pode ser completamente diferente.
CREATE VIEW Se o nome do esquema for fornecido (por exemplo, CREATE VIEW meu_esquema.minha_visao ...) então a visão será criada no esquema especificado. Caso contrário, ele é criado no esquema corrente. Visualizações temporárias são criadas em um esquema especial, por isso o nome do esquema não pode ser dado ao criar uma exibição temporária. O nome do ponto de vista deve ser distinto do nome de qualquer outra visão, tabela, seqüência, índice ou tabela externa no mesmo esquema.
DROP VIEW Use o comando DROP VIEW para excluir a visão.
Corpo da VIEW CREATE VIEW name [ ( column_name [, ...] ) ] AS query [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
PARAMETROS DA VIEW TEMPORARY ou TEMP Se for especificado, a exibição é criada como uma visão temporária. Visualizações temporárias são automaticamente eliminadas no final da sessão atual. Existentes relações permanentes com o mesmo nome não são visíveis para a sessão atual, enquanto a visão temporária existe, a menos que sejam referenciadas por um nome qualificado pelo esquema. Se qualquer uma das tabelas referenciadas pela visão são temporários, a exibição é criada como uma visão temporária (temporário é especificada ou não).
PARAMETROS DA VIEW NAME O nome (opcionalmente qualificado pelo esquema) de uma visão a ser criada. column_name Uma lista opcional de nomes a serem usados para as colunas da visão. Se não for dada, os nomes das colunas são deduzidas a partir da consulta. WITH (view_option_name [= view_option_value] [, ...]) Esta cláusula especifica parâmetros opcionais para uma visão; atualmente, o nome do parâmetro é suportado apenas security_barrier, que deve ser ativado quando uma visão é destinado a fornecer segurança em nível de linha.
PARAMETROS DA VIEW QUERY Um comando SELECT ou VALUES que irá fornecer as colunas e linhas da visão.
PARAMETROS DA VIEW DEPOIS DO WITH The optional clauses for the full SQL command are: CHECK OPTION - Esta opção tem a ver com as visões atualizáveis. Todos os comandos INSERT e UPDATE na visão serão verificados para garantir que os dados satisfazem as condições que definem a visão (ou seja, os novos dados seria visível através da vista). Se não o fizerem, a atualização será rejeitada. LOCAL - Verifique a integridade nesta visão. CASCADED - Verifique a integridade nesta visão e em todas as visões dependentes. CASCADED é assumido se nem em cascata nem LOCAL forem especificados
VIEW CREATE VIEW vista AS SELECT 'Hello World‘; DROP VIEW VISTA; CREATE VIEW vista AS SELECT text 'Hello World' AS hello;
VIEW CREATE VIEW v_aluno_matr_mes_atual as SELECT NOME_ALUNO FROM PROVA.ALUNO ALU INNER JOIN PROVA.MATRICULA MAT ON MAT.ID_ALUNO=ALU.ID_ALUNO where TO_CHAR(mat.dt_matricula,'mm/yyyy') =TO_CHAR(now(),'mm/yyyy')
VIEW CREATE VIEW v_aluno_matr_mes_anterior as SELECT NOME_ALUNO FROM PROVA.ALUNO ALU INNER JOIN PROVA.MATRICULA MAT ON MAT.ID_ALUNO=ALU.ID_ALUNO where TO_CHAR(mat.dt_matricula,'mm/yyyy') =TO_CHAR( (now()-interval '1 month'),'mm/yyyy')
VIEW CREATE VIEW prova.v_curso_andamento as select CUR.ID_CURSO,NOME_CURSO,DT_TURMA_INI ,DT_TURMA_FIM from prova.curso cur inner join prova.turma tur on cur.id_curso=tur.id_curso where (now()+interval '10 days')::date between dt_turma_ini and dt_turma_fim
ALTER VIEW ALTER VIEW - altera a definição de uma visão ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] column_name SET DEFAULT expression ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] column_name DROP DEFAULT ALTER VIEW [ IF EXISTS ] name OWNER TO new_owner ALTER VIEW [ IF EXISTS ] name RENAME TO new_name ALTER VIEW [ IF EXISTS ] name SET SCHEMA new_schema ALTER VIEW [ IF EXISTS ] name SET ( view_option_name [= view_option_value] [, ... ] ) ALTER VIEW [ IF EXISTS ] name RESET ( view_option_name [, ... ] )
REFERÊNCIAS http://www.postgresql.org/docs/9.2/static/sq l-createview.html