Como Criar e Localizar Views no SQL Server

[caption id="attachment_2598" align="alignnone" width="500"]Como criar e Localizar Views no SQL Server Como criar e Localizar Views no SQL Server[/caption] Uma Views é uma tabela virtual criada no Banco de Dados SQL server que facilita os consultas no Banco de Dados. Por exemplo: Digamos que você tenha duas tabelas:
  • Livraria (codigo, titulo, preco, lancamento, assunto, editora)
  • Editora (codigo, nome)
Para selecionar o titulo do livro e o nome da editora no qual foi lançado o livro você precisar criar uma query acessando duas tabelas distintas e fazer um join para mostrar os dados, veja como fica:
select titulo, nome
from tblLivro l
join tblEditora e
on l.editora = e.codigo
Através do View você pode transformar essa query em uma tabela virtual, e todas as vezes que você desejar pesquisar dados nessas duas tabelas não ira precisar mais consultar as duas tableas, mas sim a tabela virtual que você criou através do view.

Veja como criar uma View

create view livro_editora as
select titulo, nome
from tblLivro l
join tblEditora e
on l.editora = e.codigo
Onde
  • create view e as- o comando para criar o view
  • livro_editora - Nome do view que você irá criar.
Agora todas as vezes que você precisar realizar uma consulta, basta digitar:
select titulo, nome from livro_editora
Você ira acessar titulo na tabela livros e nome na tabela editora, porém como na VIEW livro_editora que você criou ja consta esses dois dados, será necessário apenas referenciar o nome da VIEW livro_editora Como consultar uma VIEWS Digamos que você criou um View no SQL Server porém gostaria de acessá-la para fazer alguma ajuste, veja abaixo o código:
USE [Nome do Banco]
GO
-- Iniciando a pesquisa nas tabelas de sistemas
SELECT A.NAME, A.TYPE, B.TEXT
  FROM SYSOBJECTS  A (nolock)
  JOIN SYSCOMMENTS B (nolock) 
    ON A.ID = B.ID
WHERE B.TEXT LIKE '%livro%'  --- Informação a ser procurada no corpo da view
  AND A.TYPE = 'V'                     --- Tipo de objeto a ser localizado no caso VIEW
 ORDER BY A.NAME
GO

Loading