[A BÍBLIA DO VBA NO ACCESS]: MACROS E PROGRAMAÇÃO VBA NO ACCESS - CURSO COMPLETO

Páginas: 1164 | Autor: Júlio Battisti | 50% de Desconto e 21 Super Bônus

Você está em: PrincipalArtigosSQL Server 2005 › Capítulo 09 : 22
Quer receber novidades e e-books gratuitos?
›››
« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
SQL Server 2005 - CURSO COMPLETO
Autor: Júlio Battisti
Lição 154 - Capítulo 09 - CRIANDO VIEWS COM A JANELA DE EXECUÇÃO DE COMANDOS T-SQL

Criar Views com Janela de Execução de Comandos T-SQL é simplesmente uma questão de utilizar o comando CREATE VIEW. Vamos estudar este comando neste item.

A sintaxe para o comando CRETE VIEW é a seguinte:

CREATE VIEW [ < database_name > . ] [ < owner > . ] view_name [ ( column [ ,...n ] ) ]

[ WITH < view_attribute > [ ,...n ] ]

AS

select_statement

[ WITH CHECK OPTION ]

Simplificando a sintaxe apresentada no Books OnLine, teríamos o seguinte:

CREATE VIEW Nome_da_View

AS

Comando SQL

Por exemplo, para criar uma View chamada Pedidos_Teste, que retorna os campos OrderID, OrderDate, ShipCountry e ShipCity da tabela Orders do Banco de Dados Northwind, utilizamos o seguinte comando:

USE Northwind

GO

CREATE VIEW Pedidos_Teste

AS

SELECT OrderID, OrderDate, ShipCountry

FROM Orders

É importante que você coloque o comando GO, antes do comando CREATE VIEW, caso o comando CREATE VIEW não seja o primeiro comando. Se não utilizarmos o comando GO, será emitida a seguinte mensagem de erro:

Server: Msg 111, Level 15, State 1, Line 2
‘CREATE VIEW’ must be the first statement in a query batch.

O mais importante para a criação de Views, utilizando a janela de execução de comandos T-SQL, é conhecer a linguagem T-SQL. Pois uma View nada mais é do que um comando T-SQL gravado em um Banco de Dados. Isso só reforça o que eu insisti, exaustivamente, nos exemplos anteriores, ou seja, a importância de conhecer e dominar os comandos T-SQL.

Quando criamos uma View, o que é gravado no Banco de Dados é apenas o comando T-SQL, além de informações sobre permissões de acesso. Os dados, que a View retorna, são obtidos a partir das tabelas do Banco de Dados, toda vez que a View for executada.

A permissão para utilizar o comando CREATE VIEW é atribuída para as roles de Banco de Dados db_owner e db_ddladmin, além da role de servidor sysadmin.

Podemos fazer com que o texto da View, que é armazenado na tabela syscomments, seja criptografado. Isto impede que o código seja acessado simplesmente através de um SELECT na tabela syscomments. Ou melhor, o código até que pode ser acessado, só que o texto estará criptografado, impedindo que seja lido, a menos que a criptografia seja quebrada. A seguir, um exemplo de criação de uma View com a utilização da opção WITH ENCRYPTION:

CREATE VIEW Pedidos_Criptografada

WITH ENCRYPTION

AS

SELECT OrderID, OrderDate, ShipCountry, ShipCity

FROM Orders

WHERE ShipCountry = ‘Alemanha’

Vamos a um exemplo: criar uma view chamada Média_Vendas_por_Ano. Esta View será criada no banco de dados NwindAccess.  Esta view deve exibir um registro para cada ano em que existem pedidos e o valor médio de vendas para cada ano.

O detalhe nesta View é que temos que utilizar dados da tabela Pedidos e da tabela Detalhes do Pedido. Pois os cálculos do total por pedido, os quais vão possibilitar o cálculo da média anual, são realizados a partir dos campos da tabela Detalhes do pedido. Além disso, teremos que utilizar a função Year, para extrair apenas o ano do campo DataDopedido. Depois, agrupamos o campo ano e utilizamos a função AVG na coluna que calcula o valor das vendas.

Para criar esta View, siga os passos indicados a seguir:

1. Abra a janela de execução de comandos T-SQL.

2. Digite e exe­cute o seguinte comando:

USE NwindAccess

GO

CREATE VIEW Média_Vendas_por_Ano

AS

SELECT    YEAR(DataDoPedido) AS [Ano do Pedido],

          AVG(([Quantidade] * [PreçoUnitário])* (1 -[Desconto])) AS [Média Anual]

FROM      [Pedidos]


   INNER JOIN

   [Detalhes do Pedido] ON [Pedidos].[NúmeroDoPedido] =

   [Detalhes do Pedido].[NúmeroDoPedido]


GROUP BY YEAR(DataDoPedido)

Agora vamos testar se a View Média_Vendas_por_Ano está retornando os resultados desejados.

3. Execute o seguinte comando:

SELECT * FROM Média_Vendas_por_Ano

Você deve obter os resultados indicados na Figura 9.31.


Figura 9.31 Média anual de vendas.

Já que estamos com janela de execução de comandos T-SQL aberta, vamos aprender a atribuir permissões para Views e depois testar estas permissões.

Para uma discussão aprofundada sobre o modelo de segurança e atribuição de permissões, consulte o Capítulo 6 deste livro.

No Capítulo 6, havíamos dado permissão para os usuários SERVIDOR\user1 e SERVIDOR\user2 acessar a instância SERVIDOR\SQL2005. Agora, vamos adicioná-los como usuários com permissão de acesso ao Banco de Dados NwindAccess, da instância SERVIDOR\SQL2005.

1. Você ainda deve estar com a janela de execução de comandos T-SQL aberta e logado na instância SERVIDOR\SQL2005. Execute o seguinte comando:

USE NwindAccess
GO
exec sp_grantdbaccess ‘SERVIDOR\user1’
exec sp_grantdbaccess ‘SERVIDOR\user2’

Agora vamos dar permissão de acesso para o usuário SERVIDOR\user1 para a View Média_Vendas_por_Ano, e vamos negar permissão de acesso a esta View, para o usuário SERVIDOR\user2.

2. Para dar permissão de acesso ao usuário SERVIDOR\user1, execute o seguinte comando:

GRANT SELECT ON Média_Vendas_por_Ano
TO [SERVIDOR\user1]

3. Para negar permissão de acesso ao usuário SERVIDOR\user2, execute o seguinte comando:

DENY SELECT ON Média_Vendas_por_Ano
TO [SERVIDOR\user2]

Se o usuário SERVIDOR\user2 tentar executar o seguinte comando:

SELECT * FROM Média_Vendas_por_Ano

o usuário obterá a seguinte mensagem de erro:

Server: Msg 229, Level 14, State 5, Line 1

SELECT permission denied on object ‘Média_Vendas_por_Ano’, database ‘NwindAccess,

A mensagem nos informa que o usuário não tem permissão de acesso. Isto confere com as configurações de permissões que fizemos.

4. Feche a janela de execução de comandos T-SQL e feche o SQL Server Management Studio.

No próximo capítulo e no Apêndice, falarei ainda mais sobre a linguagem T-SQL e também sobre funções disponíveis. No exemplo anterior, utilizamos a função Year, para extrair apenas o ano do campo OrderDate. No próximo capítulo, veremos uma série de funções que podem ser utilizadas em comandos T-SQL.

« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »

Best Sellers de Excel do Julio Battisti

Todos com Vídeo Aulas, E-books e Planilhas de Bônus!

Aprenda com Júlio Battisti:
Excel 2010 Básico em 140 Lições - Através de Exemplos Práticos - Passo a Passo

 Aprenda com Júlio Battisti: Excel 2010 Básico em 140 Lições - Através de Exemplos Práticos

 

Autor: Júlio Battisti | Páginas: 540 | Editora: Instituto Alpha

 

[Livro]: Aprenda com Júlio Battisti: Excel 2010 Básico em 140 Lições - Através de Exemplos Práticos

Aprenda com Júlio Battisti: Excel 2010 Avançado, Análise de Dados, Tabelas Dinâmicas, Funções Avançadas, Macros e Programação VBA - Passo a Passo

Livro: Aprenda com Júlio Battisti: Excel 2010 Avançado, Análise de Dados, Tabelas Dinâmicas, Funções Avançadas, Macros e Programação VBA - Passo a Passo

 

Autor: Júlio Battisti | Páginas: 952 | Editora: Instituto Alpha

 

Livro: Aprenda com Júlio Battisti: Excel 2010 Avançado, Análise de Dados, Tabelas Dinâmicas, Funções Avançadas, Macros e Programação VBA - Passo a Passo

Aprenda com Júlio Battisti: Macros e Programação VBA no Excel 2010 Através de Exemplos Práticos e Úteis - Passo a Passo

 

[LIVRO]: Aprenda com Júlio Battisti: Macros e Programação VBA no Excel 2010 Através de Exemplos Práticos e Úteis - Passo a Passo

 

Autor: Júlio Battisti | Páginas: 1124 | Editora: Instituto Alpha

 

[LIVRO]: Aprenda com Júlio Battisti: Macros e Programação VBA no Excel 2010 Através de Exemplos Práticos e Úteis - Passo a Passo

Aprenda com Júlio Battisti: Excel 2010 - Curso Completo - Do Básico ao Avançado, Incluindo Macros e Programação VBA - Através de Exemplos Práticos

 

[A BÍBLIA DO EXCEL]: Aprenda com Júlio Battisti: Excel 2010 - Curso Completo - Do Básico ao Avançado, Incluindo Macros e Programação VBA - Através de Exemplos Práticos Passo a Passo

 

Autor: Júlio Battisti | Páginas: 1338 | Editora: Instituto Alpha

 

[A BÍBLIA DO EXCEL]: Aprenda com Júlio Battisti: Excel 2010 - Curso Completo - Do Básico ao Avançado, Incluindo Macros e Programação VBA - Através de Exemplos Práticos Passo a Passo

Todos os livros com dezenas de horas de vídeo aulas de bônus, preço especial (alguns com 50% de desconto). Aproveite. São poucas unidades de cada livro e por tempo limitado.

Dúvidas?

Utilize a área de comentários a seguir.

Me ajude a divulgar este conteúdo gratuito!

Use a área de comentários a seguir, diga o que achou desta lição, o que está achando do curso.
Compartilhe no Facebook, no Google+, Twitter e Pinterest.

Indique para seus amigos. Quanto mais comentários forem feitos, mais lições serão publicadas.

Quer receber novidades e e-books gratuitos?
›››

Novidades e E-books grátis

Fique por dentro das novidades, lançamento de livros, cursos, e-books e vídeo-aulas, e receba ofertas de e-books e vídeo-aulas gratuitas para download.



Institucional

  • Quem somos
  • Garantia de Entrega
  • Formas de Pagamento
  • Contato
  • O Autor
  • Endereço

  • Júlio Battisti Livros e Cursos Ltda
  • CNPJ: 08.916.484/0001-25
  • Rua Vereador Ivo Cláudio Weigel, 537 Universitário
  • Santa Cruz do Sul/RS
  • CEP 96816-208
  • Todos os direitos reservados, Júlio Battisti 2001-2017 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI