SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior E-mail: [email protected] Fone: 9531 - 7555 [email protected] Versão 1.10.10 – Out/2010. Comandos Transact SQL (T-SQL) SubConsultas SUBCONSULTAS • Mais conhecidas, como subquery, ou seja, query dentro de query. – Exemplo: • Select * from Produtos Where Produto IN (SELECT CODIGO FROM PRODUTOS) • Select Codigo, Descricao=(Select Descricao From Produto), Marca from Produtos Where Codigo = 1 Comandos Transact SQL (T-SQL) Views(Visões) Views • Mais conhecida, como uma consulta armazenada que encapsula a complexidade de uma consulta e apresenta os dados desejados para usuários ou aplicativos. Ao criar uma visão, o SQL Server 2005 só armazena a definição da visão, os dados não são armazenadas a que esta view seja indexada. • Uma visão é basicamente uma instrução armazenada SELECT em um banco de dados para posterior utilização. • Uma vez criada, você pode obter resultados da instrução SELECT consultando a visão em vez de executar a instrução SELECT complexa em tabelas de existentes no banco de dados. Views e suas informações • Consultando a relação de views existentes em um banco de dados: – Select * from Sys.Views • Visualizando o código de uma view existente: – Use Estoques Go; Select Name, Definition From Sys.SQL_Modules Inner Join Sys.Views On Sys.SQL_Modules.object_id = sys.views.object_id Trabalhando com Views • Criando uma nova view: – CREATE VIEW V_NovaView AS Select * from Tabela • Alterando a view: – Alter View V_NovaView AS Select * from Tabela1 • Excluíndo a view: – Drop View V_NovaView Criando uma Views Complexa • Criando a View: Create View V_VisualizarDados As Select Convert(VarChar(3),P.Codigo)+' - '+P.Descricao As 'Produto', Convert(VarChar(3),A.Codigo)+' - '+A.Descricao As 'Armazem', Case E.Movimentacao When 'E' Then 'Entrada' When 'S' Then 'Saida' End Movimentacao, E.Quantidade, E.DataControle As 'Data Movimentação' From Produtos P Inner Join Estocagem E On P.Codigo = E.CodProduto Inner Join Armazem A On A.Codigo = E.CodArmazem • Consultando os dados através da View: Select * from V_VisualizarDados PRÁTICA - I Revisão SubConsultas. Views.