Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
-- Consulta a View
select * from HumanResources.vEmployee
----------------------------------------------------------------------------------
------------------------------------------------
-- Pagina 7-11
----------------------------------------------------------------------------------
------------------------------------------------
-- Tabelas usadas na view acima.
----------------------------------------------------------------------------------
------------------------------------------------
-- Pagina 7-15. Alteracao na View acima removendo as informacoes de endereco
postal.
==================================================================================
================================================
-- Lista todas as Views (Exibicoes) disponiveis no banco de dados AdventureWorks.
Use AdventureWorks
Go
Select * from sys.views
----------------------------------------------------------------------------------
------------------------------------------------
-- Lista os nomes das Views com seus respectivos nomes de esquema. (criacao
propria)
Select [view].[name],[view].[schema_id],[schema].[name]
from sys.views as [view]
inner join sys.schemas as [schema]
on [view].schema_id = [schema].schema_id
==================================================================================
================================================
-- sp_helptext : Procedimento armazenado que exibe a definicao de uma View
(Exibicao) nao criptografada.
Use AdventureWorks
Go
Exec sp_helptext 'HumanResources.vEmployee'
----------------------------------------------------------------------------------
------------------------------------------------
-- Mostra o texto contendo a logica da View e outros tipos de objetos. Melhor de
observar com a saida para texto em vez de grid.
select
text
from
sys.syscomments
where
id = object_id(N'AdventureWorks.HumanResources.vEmployee')
==================================================================================
================================================
-- Mostra todas as relacoes de dependencias entre objetos.
select * from sys.sql_dependencies
----------------------------------------------------------------------------------
------------------------------------------------
-- Pageina 7-19. Mostra os objetos do BD que sao depentes da tabela
HumanResources.Employee.
select distinct
object_name (object_id) as Dependentes
from
sys.sql_dependencies
where
referenced_major_id = object_id(N'AdventureWorks.HumanResources.Employee')
order by Dependentes asc
----------------------------------------------------------------------------------
------------------------------------------------
-- Mostra mais informacoes dos objetos dependentes do objeto
"HumanResources.Employee". (criacao propria)
select
object_name (object_id) as Dependentes,
object_id,
referenced_major_id
from
sys.sql_dependencies as dependencias
where
dependencias.referenced_major_id =
object_id(N'AdventureWorks.HumanResources.Employee')
order by Dependentes asc
----------------------------------------------------------------------------------
------------------------------------------------
-- Adicionadas informacoes vindas do sys.all_objects, tais como "tipo do objeto" e
"data da criacao". (criacao propria)
Use AdventureWorks
Go
select
dependencias.[object_id] as [Id Depen],
object_name (dependencias.[object_id]) as [Nome do Dependente],
objetos.type_desc [Tipo do Dependente],
objetos.create_date as [Dt.Criacao Depen],
object_name (dependencias.referenced_major_id)[Objeto Base],
dependencias.referenced_major_id as [Id Objeto Base]
from
sys.sql_dependencies as dependencias
inner join sys.all_objects as objetos
on objetos.[object_id] = dependencias.[object_id]
where
dependencias.referenced_major_id =
object_id(N'AdventureWorks.HumanResources.Employee')
order by [Nome do Dependente] asc
----------------------------------------------------------------------------------
------------------------------------------------
-- Adicionado o nome do esquema dos objetos dependentes.
select
dependencias.[object_id] as [Id Depen],
object_name (dependencias.[object_id]) as [Nome do Dependente],
objetos.type_desc [Tipo do Dependente],
objetos.create_date as [Dt.Criacao Depen],
sys.schemas.name as [Esquema Depen], --Alterado
object_name (dependencias.referenced_major_id)[Objeto Base],
dependencias.referenced_major_id as [Id Objeto Base]
from
sys.sql_dependencies as dependencias
inner join sys.all_objects as objetos
on objetos.[object_id] = dependencias.[object_id]
inner join sys.schemas --Alterado
on sys.schemas.schema_id = objetos.schema_id
where
dependencias.referenced_major_id =
object_id(N'AdventureWorks.HumanResources.Employee')
order by [Nome do Dependente] asc
==================================================================================
================================================
-- Pagina 7-21. Alteracao na View HumanResources. A logica da View fica
criptografada.
==================================================================================
================================================
--Pratica : Criando uma exibicao (7-24)
USE AdventureWorks
GO
----------------------------------------------------------------------------------
------------------------------------------------
-- Pagina (7-25)
Use AdventureWorks
Go
Select *
From [HumanResources].[vEmployeeContact]
==================================================================================
================================================
-- Apagar indice na View.
drop index Person.vStateProvinceCountryRegion.IX_vStateProvinceCountryRegion
==================================================================================
================================================
-- Pagina 7-34. Laboratorio. Exercicio 1
-- Tarefa 2
Use AdventureWorks
Go
Use AdventureWorks
Go
Create Unique Clustered Index IX_vEmployeeDetails
On HumanResources.vEmployeeDetails
(EmployeeID)
----------------------------------------------------------------------------------
------------------------------------------------
-- Exercicio 3. Tarefa 3. Criando a exibicao particionada distribuida
Person.vContact
-- Arquivo CreatePartitionedView.sql
USE AW_Contacts
GO
CREATE VIEW Person.vContact
AS
SELECT * FROM [MIAMI].AW_Contacts.Person.Contact
UNION ALL
SELECT * FROM [MIAMI\SQLINSTANCE2].AW_Contacts.Person.Contact
UNION ALL
SELECT * FROM [MIAMI\SQLINSTANCE3].AW_Contacts.Person.Contact
-- Visualizando a View
SELECT * FROM Person.vContact -- (19972 row(s) affected)
==================================================================================
================================================
Eof