SQL CREATE VIEW




SQL > Manipulação de Tabelas > Create View

As vistas podem ser consideradas como tabelas virtuais. Regra geral, uma tabela tem um conjunto de definições e armazena fisicamente os dados. Uma vista também tem um conjunto de definições, que são criadas sobre tabela(s) ou outra(s) vista(s), e não armazena fisicamente os dados.

A sintaxe para criar uma vista é a seguinte:

CREATE VIEW "nome_vista" AS "Instrução SQL";

"Instrução SQL" pode ser qualquer uma das instruções SQL abordadas neste tutorial.

Utilizemos um exemplo simples como ilustração. Assuma que temos a seguinte tabela:

Tabela Customer
Nome da ColunaTipo de Dados
First_Namechar(50)
Last_Namechar(50)
Addresschar(50)
Citychar(50)
Countrychar(25)
Birth_Datedatetime

e que queremos criar uma vista denominada V_Customer que contenha apenas as colunas Primeiro_nome, Apelido e País desta tabela, escreveríamos

CREATE VIEW V_Customer
AS SELECT First_Name, Last_Name, Country
FROM Customer;

Agora possuímos uma vista denominada V_Customer com a seguinte estrutura:

View V_Customer
Nome da ColunaTipo de Dados
First_Namechar(50)
Last_Namechar(50)
Countrychar(25)

Também podemos utilizar uma vista para aplicar uniões a duas tabelas. Nesse caso, os utilizadores apenas visualizam uma em vez de duas tabelas e a instrução SQL que os utilizadores devem emitir torna-se muito mais simples. Suponhamos que temos as duas tabelas seguintes:

Tabela Store_Information
Store_NameSalesTxn_Date
Los Angeles150005-Jan-1999
San Diego25007-Jan-1999
Los Angeles30008-Jan-1999
Boston70008-Jan-1999

Tabela Geography
Region_NameStore_Name
EastBoston
EastNew York
WestLos Angeles
WestSan Diego

e queremos criar uma vista com informações de vendas por região. Iríamos emitir a seguinte instrução SQL:

CREATE VIEW V_REGION_SALES
AS SELECT A1.Region_Name REGION, SUM(A2.Sales) SALES
FROM Geography A1, Store_Information A2
WHERE A1.Store_Name = A2.Store_Name
GROUP BY A1.Region_Name;

Assim obtemos uma vista, V_REGION_SALES, que foi definida para armazenar registos de vendas por região. Se quisermos descobrir o conteúdo desta vista, escrevemos

SELECT * FROM V_REGION_SALES;

Resultado:

REGION SALES
East 700
West 2050

SQL CREATE INDEX >>



Copyright © 2016   1keydata.com   Todos os direitos reservados.