Vistas

Não importa quantas tabelas relacionais uma junção atravessa, independentemente de ele contém uma cláusula GROUP BY (ou qualquer outra coisa para essa matéria), todos os conjuntos de resultados da consulta se manifestam como uma ou mais linhas que contêm uma coleção idênticas de um ou mais colunas. Então, de certa forma, os resultados da consulta são tabelas virtuais com base em tabelas de base física dos dados. Agora imagine se você pudesse ter uma instrução de consulta e defini-lo como um objeto de banco de dados formal que pode ser acessado exatamente como uma tabela pode. Bem, você pode, isto é o que é chamado um ponto de vista. O código define uma visão de banco de dados.

CREATE VIEW vwEmployee AS SELECT SSN, CompanyID, FirstName, LastName, DataNascimento FROM Employee
  

O código em negrito é apenas uma declaração SELECT padrão, o resto da lista simplesmente encapsula a instrução SELECT como uma formal, objeto de banco de dados reutilizáveis uma exibição com um nome formal. Agora, sempre que você quiser ver todos os funcionários sem seus salários, você pode simplesmente executar o seguinte:

SELECT * FROM vwEmployee

Da mesma forma, você pode realizar consultas mais elaboradas em um ponto de vista, como se fosse uma tabela, como segue:

'SELECT SSN, FirstName + + LastName AS FullName, DataNascimento FROM vwEmployee WHERE DataNascimento> '01 / 01/1960' ORDER BY DESC DateOfBirth

Na verdade, exibições podem ser filtradas, classificadas e juntou-se assim como qualquer tabela física pode. Vistas tipicamente ocultar elementos de dados para que aquilo que é devolvido expõe apenas os dados que são necessários. Os elementos que estão sendo escondeu colunas podem ser específicas de uma tabela, as linhas dessa tabela que não satisfaçam a cláusula WHERE, ou uma combinação de ambos. Basicamente, uma mascara visualizar os dados desnecessários do seu aplicativo. Estas máscaras podem ser vertical ou horizontal. A vertical escudos máscara colunas específicas de uma tabela de regressar e é simplesmente a coleção definido de colunas da tabela subjacente que contém a sua opinião. A máscara protege horizontal linhas específicas de uma tabela de regressar e é simplesmente a cláusula WHERE que fornece os critérios de filtragem para a exibição. Você pode combinar tanto vertical como horizontal encobrimento no mesmo sentido. O código, por exemplo, retorna apenas os SalesOrderID, DataVenda e colunas OrderTotal apenas os pedidos de vendas com um status de 20.

CREATE vwFinishedSalesOrder VER AS SELECT SalesOrderID, DataVenda, total FROM SalesOrder WHERE Status = 20

Visto não parar em uma única tabela. Na verdade, as vistas são frequentemente utilizados para simplificar a complicada relacional junta várias tabelas de forma que o desenvolvedor do aplicativo não precisa preocupar-se com estas complexidades e pode concentrar-se em simplesmente exibir dados relevantes. O código define esse ponto de vista relacional.

CREATE vwEmployeeCompany VER AS SELECT e.SSN, e.FirstName + '' + e.LastName AS FullName, e.DateOfBirth, c.CompanyName FROM Empregado e INNER JOIN c ON Companhia e.CompanyID = c.CompanyID

O desenvolvedor ColdFusion agora pode selecionar todos os funcionários nascidos antes de 1960, ocultar a coluna de salário, e exibir o nome da empresa para a qual cada um trabalha, todos por simplesmente fazendo o seguinte:

SELECT * FROM vwEmployeeCompany

Da mesma forma, suponha que você tentou executar um SELECT contra essa visão, que incluiu a coluna Salário, como segue:

SELECT CPF, nome completo, DataNascimento, CompanyName FROM VwEmployeeCompany WHERE Salário> 100000

INSERT INTO vwInventoryItem (itemnumber, Description, UnitPrice, AvailableToSell) VALUES ( 'CAS30-BLK',
'30 Minutos Cassete, Black Case ', 1,05, 100) UPDATE vwInventoryItem SET Description = '30 Minutos Cassete, Black Case', UnitPrice = 1,25, AvailableToSell = 90 WHERE itemnumber = 'CAS30-BLK'

 SELECT CompanyName, ZipCode FROM Empresas WHERE State = '# Trim (Form.State) #' ORDER BY ASC ZipCode 

Para criar um procedimento armazenado no Microsoft SQL Server a partir da lógica SQL dentro deste convite CFQUERY, adicione o seguinte código e executá-lo contra o servidor de banco de dados (usando o Query Analyzer ou algum utilitário de processamento de lote).

CREATE PROCEDURE sp_GetCompanies (@ Estado CHAR (2)) AS SELECT
CREATE PROCEDURE sp_GetCompanies (@ Estado CHAR (2)) AS SELECT

Depois de executar o código no banco de dados, você tem um objeto de procedimento pré-armazenados, sp_GetCompanies, que você pode chamar de seu aplicativo ColdFusion.

um artigo submetido por Roger Arling


Isenção de responsabilidade:O nosso site não se responsabiliza pelo conteúdo deste artigo. Webarticles é uma fonte de informação livre.
Importante: Este artigo "Views" foi traduzida por um software automático. Nós sentimos muito por quaisquer erros de ortografia que pode ter ocorrido. Obrigado pela sua compreensão.


Online: 417 users browsing the articles directory