Home - www.devmedia.com.br

Criando Visões (Views) no Oracle

Uma View funciona de forma semelhante a uma tabela. É utilizada em comandos SELECT, INSERT, UPDATE e DELETE, para recuperação e manipulação de dados (com restrições), porém, não armazena esses dados.

Este objeto tem suas linhas e colunas calculadas dinamicamente através de um SELECT pré-estabelecido, cada vez que solicitamos. Apenas a sua definição é armazenada no dicionário de dados.

Podemos dizer que se trata de uma tabela virtual, pois não possui linhas próprias, mas sim as obtém em tempo de execução e as disponibiliza em memória para acesso por uma query.

Como criar Views:

Create [or replace] view <nome da view> as <Instruções sql>
[with read only];

Exemplo: Criando e visualizando as informações de uma view:

Create view estoque as select codprod, descricao from produtos
where pmedio < 1000;

Alterando uma View:

O comando REPLACE recria uma view já existente. Deve ser utilizado para alterar uma visão existente sem necessidade de apagá-la. É utilizado também para atribuir nova permissão e privilégios.

Create or replace view estoque as select codprod, descricao, pvenda preço
from produtos where pmedio < 1000;

Visualizando uma View:

Select * from estoque;
Desc estoque;

Excluindo uma View:

O comando DROP VIEW exclui uma view do dicionário de dados. Nenhum efeito ocorrerá sobre as tabelas referenciadas, bastando para isso ter apenas o privilégio DROP VIEW ou DBA.

Drop view estoque;

A Cláusula WITH CHECK OPTION:

Através da cláusula WITH CHECK OPTION, podemos garantir que os dados inseridos ou atualizados numa tabela através de uma view, poderão ser visualizados através da própria view com esta opção.

Exemplo:

Create or replace view estoque as select codprod, descricao, pvenda preço
from produtos where pmedio < 1000 with check option estoque;

A Cláusula WITH READ ONLY:

Através da cláusula WITH READ ONLY podemos impedir operações de DML sobre a view, restringindo desta forma a view apenas à leitura. A cláusula WITH READ ONLY indica que apenas a operação de consulta (SELECT) será permitida na view e, desse modo, operações de atualização, inserção e exclusão não serão permitidas.

Exemplo:

Create or replace view estoque as select codprod, descricao, pvenda preço
from produtos where pmedio < 1000 with read only;

A view está protegida para operações DML, portanto em qualquer tentativa de comandos referentes a DML (inserção, atualização e deleção) ocorrerão erros.

Checando as Views no Dicionário de Dados:

O Dicionário de Dados do Oracle nos permite checar as views criadas, bastando para isso usar o comando:

Desc User_Views;

Fiquem à vontade para nos escrever em atendimento@keepok.com.br onde responderemos a todas as dúvidas.

Abraços,

Prof. Ricardo E. Kneipp

Prof. Rodney C. de Albuquerque

Entre em contato direto com os autores através do site do Grupo KeepOk Technologies em: http://www.keepok.com.br

 

(1) O Prof. Ricardo E. Kneipp é autor de 3 obras na área de informática, inclusive em banco de dados. É graduado em Ciência da Computação-UCP, pós-graduado em Informática na Educação-UFLA e em Gestão Estratégica-UCAM. Realizou curso de certificação Oracle e é Mestrando em Educação-UNIPLI. É Analista de Sistemas e Professor das Universidades UNIG e FAMINAS, nos cursos de graduação e pós-graduação em Biologia, Engenharia da Computação, Sistemas de Informação, Tecnologia de Processamento de Dados e Ciência da Computação. Ministra as Disciplinas: Bioestatística, Banco de Dados, Linguagens de Programação, Projeto Final, Compiladores e Gerenciamento Eletrônico. É membro da SBC (Sociedade Brasileira de Computação).

(2) O Prof. Rodney C. de Albuquerque é autor de 3 obras na área de informática, inclusive em banco de dados. É graduado em Tecnologia de Processamento de Dados-UVA, pós-graduado em Redes Locais-UNESA e em Marketing-UCAM. Realizou cursos de certificação Microsoft e é Mestrando em Educação-UNIPLI. É Analista de Sistemas e Professor da Universidade-UNIG nos cursos de graduação e pós-graduação em Enfermagem, Fisioterapia, Educação Física, Engenharia da Computação, Sistemas de Informação, Tecnologia de Processamento de Dados e Ciência da Computação. Ministra as Disciplinas: Informática Aplicada, Bioestatística, Metodologia, Banco de Dados, Linguagens de Programação, Projeto Final, Redes de Computadores, Segurança e Auditoria de Sistemas. É membro da SBC (Sociedade Brasileira de Computação).

  PostegreSQL no Linux    
  Funções de Conversão – Parte II    
  Funções de Conversão – Parte I    
  Recover no Oracle    
  BackUp no Oracle - Parte 3    
  BackUp no Oracle - Parte 2    
  BackUp no Oracle    
  Criando Views no Oracle    
  Boas-Vindas    
     

 

Todos os direitos reservados: DevMedia Group
SQL Magazine - 2004