Desvendando o SQL - Parte V - Visões
Autor: Rubens Lima | Publicado: 2013-07-28T12:14:00-03:00





Oi gente, estamos de volta com
mais um artigo, o quinto de nossa série que tem objetivo de mostrar alguns
pontos da linguagem SQL, em nosso último mostramos um dos comandos bastante
utilizados na linguagem SQL o SELECT. Hoje vamos falar um pouco sobre a VIEW, o
que é como criá-la e utilizá-la. Boa leitura.




Em determinadas situações
precisamos consultar dados de uma ou mais tabelas, dependendo da situação essa
consulta poderá ficar bem extensa, e se essa consulta precisar ser utilizada em
vários locais diferentes? Já imaginou o tamanho que ficaria seu código, e o
tanto de repetições que teria? E se fosse preciso mudar algum ponto dessa
consulta? Teríamos que sair mudando em todos os locais que ela estivesse. Não
seria melhor deixar seu código mais limpo? É para esse e outros momentos que
utilizamos as VIEWS ou Visões do SQL. A utilização da VIEW nos permite alterar
nela somente o que precisamos realizar uma recompilada e pronto, todos os
objetos que utilizem a VIEW já serão carregados com as devidas alterações
feitas, bem mais simples e profissional.



Tenho o costume também e já vi
essa prática por onde passei da utilização de visões como fonte de retorno para
relatórios, por ser bem mais prático, questões relacionadas a segurança, porque
a visão já pode ser montada com a nomenclatura correta dos campos e com somente
os campos que serão utilizados, e caso seja preciso alguma alteração não há
necessidade de modificar o relatório, somente a visão.



O QUE É UMA VIEW



No MSDN&nbsp;a VIEW
tem por definição ser uma tabela virtual cujo conteúdo é definido por uma
consulta. E é exatamente isso, a VIEW lhe retorna o resultado de uma consulta,
complexa ou não, é uma maneira também de oferecer segurança ao seu BD, não
permitindo que os usuários acessem diretamente as tabelas. E como ela retorna
também um conjunto de informações, pode inclusive ser usada em outras consultas,
VIEW, PROCEDURES, como uma tabela em um SELECT, ser relacionada com outras
views ou tabelas, etc.



COMO CRIAR UMA VIEW



A sintaxe de criação de uma VIEW
é bem simples, do mesmo jeito a sintaxe de alteração.



Criação



CREATE VIEW &lt;Nome_View&gt; 

AS

&lt;Consulta&gt;



Alteração



ALTER VIEW &lt;Nome_View&gt; 

AS

&lt;Consulta&gt;





Bem simples, como exemplo, vamos
criar a VIEW VPRODCATEG que nos dará uma relação de produtos e suas categorias.



CREATE VIEW VPRODCATEG

AS

SELECT 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P.CD_REFERENCIA AS CODIGO_REFERENCIA,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P.NR_SERIE AS NUMERO_SERIE,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DESC_PRODUTO
AS PRODUTO,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C.DESC_CATEGORIA AS CATEGORIA

FROM 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TBPRODUTO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P INNER JOIN

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TBSUBCATEGORIA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S ON S.CD_SUB = P.CD_SUB INNER JOIN

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TBCATEGORIA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C ON C.CD_CATEGORIA = S.CD_CATEGORIA





Agora com a VIEW criada vamos
consultá-la e ver o retorno.

&nbsp; &nbsp; &nbsp;&nbsp;

SELECT * FROM VPRODCATEG



CODIGO_REFERENCIA NUMERO_SERIE&nbsp;&nbsp;&nbsp; PRODUTO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CATEGORIA

----------------- ---------------
--------------------------------------------------
------------------------------

1001&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS110011&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Whisky 08
Anos&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Bebidas

1002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS210021&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Whisky 12
Anos&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bebidas

1003&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS310031&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Vinho&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Bebidas

2001&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS420012&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Arroz Branco&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cereais

2002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS520022&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Feijão Carioca&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cereais

3001&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS630013&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Leite Longa
Vida&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Cereais

3002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS730023&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Leite Longa Vida
Desnatado&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cereais

4010&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS840104&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Macarrão
Parafuso&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Enlatados

4020&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS940204&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Macarrão
Talharim&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Enlatados

6100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS1061005&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Pêssego em
Calda&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Lacticínios

6200&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS1162005&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ervilha&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Enlatados

6300&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS1263005&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Milho Verde&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Enlatados






































(12 linha(s) afetadas)







Temos uma visão de varias tabelas
de forma bem organizada fazendo uma única consulta. Agora e se esquecemos do
campo de status do produto? Não tem problema nenhum, é só alterar a VIEW e
incluir o novo campo. Veja abaixo a alteração e em seguida a mesma consulta da VIEW
utilizada acima com o retorno já modificado.



ALTER VIEW VPRODCATEG

AS

SELECT 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P.CD_REFERENCIA AS CODIGO_REFERENCIA,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P.NR_SERIE AS NUMERO_SERIE,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DESC_PRODUTO
AS PRODUTO,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C.DESC_CATEGORIA AS CATEGORIA,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P.ST_PRODUTO

FROM 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TBPRODUTO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P INNER JOIN

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TBSUBCATEGORIA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S ON S.CD_SUB = P.CD_SUB INNER JOIN

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TBCATEGORIA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C ON C.CD_CATEGORIA = S.CD_CATEGORIA

GO



&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

SELECT * FROM VPRODCATEG



CODIGO_REFERENCIA NUMERO_SERIE&nbsp;&nbsp;&nbsp; PRODUTO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CATEGORIA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ST_PRODUTO

----------------- ---------------
--------------------------------------------------
------------------------------ ----------

1001&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS110011&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Whisky 08
Anos&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Bebidas&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A

1002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NS210021&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Whisky 12 Anos&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Bebidas&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A

1003&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS310031&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Vinho&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Bebidas&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A

2001&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS420012&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Arroz Branco&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Cereais&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A

2002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS520022&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Feijão
Carioca&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Cereais&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A

3001&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS630013&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Leite Longa Vida &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cereais&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A

3002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS730023&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Leite Longa Vida
Desnatado&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Cereais&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A

4010&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS840104&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Macarrão
Parafuso&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enlatados&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A

4020&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS940204&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Macarrão
Talharim&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Enlatados&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A

6100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS1061005&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Pêssego em
Calda&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Lacticínios&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A

6200&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS1162005&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ervilha&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Enlatados&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A

6300&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NS1263005&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Milho Verde&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Enlatados&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A






































(12 linha(s) afetadas)





Vimos que com uma alteração
simples modificamos o resultado da visão. Vamos criar outras VIEWs e ver como
funcionam.



Vamos aproveitar e utilizar as
consultas que fizemos no artigo anterior.



CREATE VIEW VSOMACATEG

AS



SELECT C.CD_CATEGORIA, C.DESC_CATEGORIA, SUM(E.VLR_UNITARIO) AS SOMA_VALOR

FROM 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TBESTOQUE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E INNER JOIN

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TBPRODUTO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; P ON P.CD_PRODUTO = E.CD_PRODUTO INNER JOIN

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TBSUBCATEGORIA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S ON S.CD_SUB = P.CD_SUB INNER JOIN

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TBCATEGORIA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C ON C.CD_CATEGORIA = S.CD_CATEGORIA

WHERE E.VLR_UNITARIO &gt; 5

GROUP BY C.CD_CATEGORIA, C.DESC_CATEGORIA

HAVING SUM(E.VLR_UNITARIO) &gt; 10

go



CREATE VIEW VPOSESTOQUE

AS



SELECT P.CD_REFERENCIA, P.DESC_PRODUTO, E.QTD_ESTOQUE, U.SGL_UNIDADE, E.VLR_UNITARIO

FROM

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TBESTOQUE&nbsp;&nbsp;&nbsp; AS E INNER JOIN

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TBPRODUTO&nbsp;&nbsp;&nbsp; AS P ON E.CD_PRODUTO = P.CD_PRODUTO INNER JOIN

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TBUNIDADE&nbsp;&nbsp;&nbsp; AS U ON U.CD_UNIDADE = E.CD_UNIDADE





Podemos criar inúmeras visões de
nosso banco, é bem interessante quando temos consultas que usamos com
frequência. Criamos uma ou várias visões e vamos utilizando.



Nesse artigo mostramos um pouco o
que são como criar e alterar visões, e também algumas utilidades das VIEWS. Em
nosso próximo vamos abordar um assunto bem interessante, estamos nos referindo
as STORED PROCEDURES ou aportuguesando, PROCEDIMENTOS ARMAZENADOS. Veremos como
procedures são uma mão na roda em muitos pontos, espero por vocês. E não se
esqueça de dar sua opinião sobre nossos artigos, comente, ache bom ou ruim não
importa, diga o que falta, dê sua opinião, é ela que vale, afinal escrevo para
você. 



Grande abraço e até breve.



Artigos anteriores:

Desvendando o SQL - Parte I - Introdução

Desvendando o SQL - Parte II - Criando um Banco de Dados e TabelasDesvendando o SQL - Parte III - Alterando Registros

Desvendando o SQL - Parte IV - Consultas






<!--[if !supportEndnotes]-->

<!--[endif]-->




<!--[if !supportFootnotes]-->[i]<!--[endif]-->
Microsoft Developer Network