A vista é uma tabela virtual.
Este capítulo mostra como criar, atualizar e excluir um ponto de vista.
SQL CREATE VISTA
Em SQL, a vista é uma tabela virtual com base no resultado-conjunto de uma instrução SQL.
A exibição contém linhas e colunas, assim como uma mesa real. Os campos em uma exibição são campos de uma ou mais tabelas reais no banco de dados.
Você pode adicionar funções SQL, ONDE, e JOIN declarações à vista e apresentar os dados como se os dados foram provenientes de uma única tabela.
SQL CREATE VIEW Sintaxe
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
Note: Uma visão sempre mostra dados up-to-date! O motor de banco de dados recria os dados, usando instrução SQL da vista, cada vez que um usuário consulta uma vista.
SQL CREATE Veja exemplos
Se você tem a base de dados Adamastor você pode ver que tem vários pontos de vista instalados por padrão.
A vista "Lista atual do produto" lista todos os produtos ativos (produtos que não são descontinuadas) do "Products" mesa. A exibição é criada com o seguinte SQL:
CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No
Podemos consultar a exibição acima da seguinte forma:
SELECT * FROM [Current Product List]
Outro ponto de vista no banco de dados de exemplo Adamastor seleciona cada produto na "Products" mesa com um preço unitário mais elevado do que o preço médio unitário:
CREATE VIEW [Products Above Average Price] AS
SELECT ProductName,UnitPrice
FROM Products
WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products)
Podemos consultar a exibição acima da seguinte forma:
SELECT * FROM [Products Above Average Price]
Outro ponto de vista na base de dados Adamastor calcula a venda total para cada categoria em 1997. Note-se que este ponto de vista selecciona os seus dados a partir de outro ponto de vista chamado de "venda de produtos para 1997":
CREATE VIEW [Category Sales For 1997] AS
SELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySales
FROM [Product Sales for 1997]
GROUP BY CategoryName
Podemos consultar a exibição acima da seguinte forma:
SELECT * FROM [Category Sales For 1997]
Podemos também adicionar uma condição à consulta. Agora, queremos ver a venda total, apenas para a categoria "Beverages" :
SELECT * FROM [Category Sales For 1997]
WHERE CategoryName='Beverages'
SQL Atualizando a View
Você pode atualizar um modo de exibição usando a seguinte sintaxe:
SQL CREATE OR REPLACE VIEW Sintaxe
CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
Agora queremos adicionar a "Category" coluna à vista "lista actual de produtos". Vamos atualizar a vista com o seguinte SQL:
CREATE OR REPLACE VIEW [Current Product List] AS
SELECT ProductID,ProductName,Category
FROM Products
WHERE Discontinued=No
SQL Soltando a View
Você pode excluir uma exibição com o comando DROP VIEW.
SQL DROP VIEW Sintaxe
DROP VIEW view_name