Você está na página 1de 32

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

Nome ___________________________________________ Nmero: _____ Srie ___________________

4326: Transact SQL com Microsoft SQL ServerTM 2005


Competncias: Compreender a arquitetura cliente-servidor, aplicando-as em bancos de
dados; Habilidades: Implementar as estruturas modeladas usando banco de dados; Bases
Tecnolgicas: Ambientes/ferramentas de gerenciamento de bancos de dados.
Descrio: Analizar como a arquitetura cliente/servidor funciona, e examinar vrios bancos
de dados e regras de negcio que podem ser usadas com os componentes Microsoft SQL Server 2005.
Tambm sero executadas consultas com bancos de dados SQL Server 2005 usando as ferramentas
de consulta T-SQL, abordando o bsico da linguagem T-SQL, sua sintaxe e como administrar scripts TSQL. Este curso tambm prepara o aluno para obter a certificao no exame 70-431.

Elementos da sintaxe T-SQL

T-SQL usado naturalmente para escrever consultas e no est limitada a


DML, DDL e DCL. T-SQL consiste em vrios elementos sintticos como operadores,
funes, variveis, expresses e declaraes condicionais. Esses elementos sintticos
ajudam a fazer transaes e consultas no banco de dados.

Tipos de operadores
Os operadores especificam uma ao a ser executada em uma ou mais
expresses. SQL Server 2005 suporta vrias categorias de operadores como os
aritmticos, os de comparao, os de String e concatenao, os lgicos e os binrios.
Esses operadores so executados em uma ordem de precedncia, de um nvel maior
para um menor. Veja a seguir os operadores e suas funes:

Operadores Aritmticos
Operadores aritmticos executam operaes matemticas em duas expresses
com dados que pertencem a cadegoria de dados numricos. Observe:

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

Profor: Gilberto Braga de Oliveira

Tecnologias e Linguagens para Banco de Dados II

Tipo de
Operador
+
*
/
%

Operao
Soma
Subtrao
Multiplicao
Diviso
Mdulo

Tabela 1 - Operadores Aritmticos


Obs: + e tambm podem ser usados para operaes com valores datetime e
smalldatetime.

Operadores de comparao
Os operadores de comparao so usados para comparar duas expresses.
Estes operadores podem ser usados em todas as expresses, exceto text, ntext e
image. Observe os operadores de comparao suportados pelo T-SQL:
Tipo de Operador
=
>
<
>=
<=
<>

Operao
Igual
Maior que
Menor que
Maior ou igual a
Menor ou igual a
Diferente

Tabela 2 - Operadores de comparao.


Obs: Os operadores de comparao !=, !< e !> devem ser evitados pois no
obedecem ao padro ANSI SQL-92.

Operadores de string e concatenao


O operador de string e concatenao o + que permite concatenar texto.

Operadores Lgicos
Operadores lgicos testam se uma condio verdadeira e retora um
valor booleano, verdadeiro, falso ou desconhecido. Os operadores lgicos suportados
pelo T-SQL so os listados a seguir:
Tipo de
Operador
ALL

Operao
Retorna verdadeiro se todas as

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

expresses de uma condio forem


verdadeiras;
Retorna verdadeiro se ambas as
expresses de uma condio forem
verdadeiras;
Retorna verdadeiro se uma das
expresses de uma condio forem
verdadeiras;
Retorna verdadeiro se o valor estivar
entre os limites definidos na expresso;
Retorna verdadeiro se uma sub-consulta
tiver ao menos uma linha;
Retorna verdadeiro se o valor for igual a
um dos valores da expresso contida em
uma lista;
Retorna verdadeiro se o valor tiver um
par correspondente;
Retorna o oposto do valor de uma
expresso booleana;
Retorna verdadeiro se uma das
expresses booleanas so verdadeiras;
Retorna verdadeiro se uma de uma lista
de comparaes for verdadeira;

AND

ANY
BETWEEN
EXISTS
IN
LIKE
NOT
OR
SOME

Tabela 3 - Operadores Lgicos.

Operadores binrios
Os operadores binrios efetuam manipulaes de bit entre duas expresses de
tipos de dados que pertencem a categiria integer ou string binary. Entretanto, o tipo
de dado image de uma categoria string binary no suportado. A seguir os operadores
suportados pelo T-SQL:
Tipo de Operador
&
|
^

Operao
(e binrio): Usado para operaes e
binrias de dois valores inteiros;
(ou binrio): Usado para operaes de
ou binrio de dois valores inteiros;
(ou exclusivo binrio) Usado para
operaes de ou exclusivo binrio de
dois valores inteiros.

Tabela 4 - Operadores binrios.


Os operadores so organizados em uma ordem hierarquica de precedncia.
possvel escrever uma operao complexa que usa multiplos operadores. Ser possvel
observar que a ordem de precedncia ir determinar a seqncia em que as operaes
so executadas. A ordem de execuo pode afetar significativamente o valor dos
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

resultados. Tambm possvel que sejam escritas expresses com operadores que
estejam no mesmo nvel de prescedncia e neste caso eles sero avaliados da
esquerda para a direita, na ordem em que aparecem na expresso. Observe a ordem
de prescedncia dos operadores na tabela a seguir:
Nvel
1
2
3
4
5
6
7
8
9

Operadores
+ (positivo), - (negativo) e ~ (no binrio)
* (multiplicao), / (diviso) e % (mdulo)
+ (soma e concatenao), - (subtrao) e & (e
binrio)
=, <, >, <=, >=, <>, !=, !>, !< (operadores de
comparao)
^ (ou exclusivo binrio) e | (ou binrio)
NOT
AND
ALL, ANY, BETWEEN, IN, LIKE, OR e SOME
= (Atribuio)
Tabela 5 Ordem de precedncia de operadores

Ordem de precedncia de operadores


Quando uma expresso complexa tem multiplos operadores a precedncia de
operadores determina a sequencia em que as operaes sero executadas.
importante lembrar que a ordem de execuo pode afetar os resultados de maneira
significativa.
Quando dois operadores em uma expresso tiverem a mesma ordem de
precedncia, eles sero avaliados da esquerda para a direita com base na posio em
que aparecem na expresso. Por exemplo na expresso usada a seguir, o operador de
subtrao avaliado antes do de adio.
DECLARE @N int
/*Avalia (5 - 3) que 2, depois avalia (4 + 2) que 6 e
avalia 2 * 6, que resulta em 12*/
SET @N = 2 * (4 + (5 - 3))
PRINT @N
/*Avalia NOT (@N > 12 AND @N = 0) o que resulta em verdadeiro e
avalia @N = 12 que verdadeiro, portanto as duas expresss so
verdadeiras,
logo a "Primeira expresso ser verdadeira!" */
IF @N = 12 AND NOT (@N > 12 AND @N = 0)
BEGIN
PRINT 'Primeira condio Verdadeira!'
END
ELSE
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

BEGIN
PRINT 'Primeira condio Falsa!'
END
/* Avalia @N = 0 que falso, depois avalia NOT @N > 12 o que
verdadeiro
finalmente avalia, da esquerda para a direita as expresses com AND
o que resulta em falso*/
IF @N = 12 AND NOT @N > 12 AND @N = 0
BEGIN
PRINT 'Primeira condio Verdadeira!'
END
ELSE
BEGIN
PRINT 'Primeira condio Falsa!'
END
Obs: Se uma expresso tem parnteses aninhados, os parnteses mais
internos so avaliados primeiro.

Funes nativas SQL Server


Funes so elementos cuja sintaxe exige zero, um ou mais valores de entreda
e retornam um valor escalar ou uma lista de valores. Em SQL Server 2005, as funes
deterministras sempre retornam o mesmo resultado para uma lista especfica de
valores de entrada. Funes no deterministas retornam valores diferentes quando so
chamadas repetidas vezes com os mesmos valores de entrada. As funes SQL
tambm podem ser categorizadas com base nos tipos de entradas que a funo aceita.

Funs de String
Usadas para executar operaes com caracteres e strings binrias.
SUBSTRING: Retorna a parte de uma string.

Exemplo
USE AdventureWorks;
GO
-- Seleciona Christ de Christopher
SELECT SUBSTRING(FirstName, 1, 6) AS [Primeiro Nome]
FROM Person.Contact
WHERE ContactID = 17870;
GO
UPPER e LOWER: Converte um caractere minsculo em maisculo e vice
versa.

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

Exemplo
USE AdventureWorks;
GO
-- Seleciona HUNTER de Hunter
SELECT UPPER(FirstName) AS 'Primeiro Nome'
FROM Person.Contact
WHERE ContactID = 5276;
GO
STUFF: Apaga um tamanho especfico de caracteres e insere outros em um
local especfico.
LTRIM: Elimina os primeiros espaos de uma string.
RTRIM: Remove os espaos finais em uma string.
REPLACE: Substitue todas as ocorrncias de uma string especfica em uma
dada string por outra.

Funes de Data/Hora
Essas funes efetuam operaes com entradas de data e hora e retornam uma
string, um valor do tipo nmero ou um valor do tipo data e hora.
GETDATE: Funo no determinista que retorna a data e hora corrente no
sistema.
DATEDIFF: Funo determinista que retorna um nmero que representa a
diferena entre duas datas especficas.

Exemplo:
USE ADVENTUREWORKS;
GO
-- Diferena entre a data em que foi feito o pedido e a data atual.
SELECT DATEDIFF(MONTH, OrderDate, GETDATE()) AS 'Tempo em Meses'
FROM Sales.SalesOrderHeader
WHERE SalesOrderID = 43660;
GO
DATEADD: Funo determinista que retorna uma nova data/hora baseado na
adio de uma intervalo a uma data especifica.

Exemplo
USE ADVENTUREWORKS;
GO
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

-- Alocao de funcionrio por trs anos.


SELECT DATEADD(YEAR, 3, HireDate) AS '3 Anos de Alocao'
FROM HumanResources.Employee
WHERE EmployeeID = 30;
GO
DATEPART: Funo determinista exceto quando usada como DATEPART (dw,
date). Onde dw, o dia da semana, dependendo do valor de SET DATEFIRST, que
define o primeiro dia da semana. Retorna um nmero inteiro que representa a data
especificada.

Exemplo
USE ADVENTUREWORKS;
GO
-- Dia do aniversrio do funcionrio 20.
SELECT DATEPART(DAY, BirthDate) AS 'Dia do Aniversrio'
FROM HumanResources.Employee
WHERE EmployeeID = 20;
GO
DATENAME: Funo no determinista que retorna um caractere ou string que
representa a data especificada.
DAY, MONTH, e YEAR: Funo determinista que retorna um inteiro que
representa o dia, ms ou ano, respectivamente.
GETUTCDATE: Funo no determinista que retorna o valor de data e hora que
representa a hora atual universal do merediano de Greenwich UTC (Coordinated
Universal Time ou Greenwich Mean Time).

Funes Matemticas
Funes

matemticas

executam operaes

matemticas com

expresses

numricas e retornam o resultado da operao. Elas tambm incluem funes


trigonomtricas.
ABS: Retorna o valor absoluto, valor positivo de um nmero.

Exemplo
-- Usando ABS.
SELECT ABS(-1.0), ABS(0.0), ABS(1.0);
GO
COS e SIN: Retorna o cosseno e o seno de um dado ngulo, respectivamente.
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

Profor: Gilberto Braga de Oliveira

Tecnologias e Linguagens para Banco de Dados II

POWER: Retorna o valor de uma potncia especfica de uma dada expresso.

Exemplo
-- Usando POWER para executar 3 elevado a 4 e 5 elevado a 2.
SELECT POWER(3,4), POWER(5,2);
GO
ROUND: Retorna uma expresso numrica, arredondada para um tamanho
especfico.
SQRT e SQUARE: Retorna a raiz quadrada e um nmero elevado ao quadrado
respectivamente.

Funes de converso
So funes que convertem um tipo de dado de uma expresso em outro tipo
de dado.
As

funes

de

converso

so

CAST

CONVERT.

Elas

convertem

explicitamente uma expresso de um tipo de dado em outro tipo de dado. A


diferena entre elas que CAST padro ANSI e CONVERT no. Alm disso,
CONVERT tem parmetros de estilo opcionais.

Exemplos
--Converte uma string em SMALLDATETIME com CAST
SELECT CAST('19700930' AS SMALLDATETIME);
GO
--Converte uma string em SMALLDATETIME com CONVERT
SELECT CONVERT(SMALLDATETIME, '19700930');
GO
--Converte a data atual em string e formata dd/mm/aa
SELECT CONVERT(VARCHAR(MAX), GETDATE(), 3);
GO
--Converte a data atual em string e formata mm/dd/yyyy
SELECT CONVERT(VARCHAR(MAX), GETDATE(), 103);
GO

Funes de sistema
Executa operaes

que retornam

informaes

sobre

valores, objetos e

configuraes.
HOST_NAME Funo no determinista que retorna o nome da estao de
trabalho, muito til para fins de auditoria de sistemas.
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

XACT_STATE Funo no determinista que retorna o estado da transao de


uma seo, indicando quando a seo tem uma transao ativa e indicando quando a
transao pode ser efetivada.
SYSTEM_USER Funo no determinista que permite informar o login atual a
ser inserido em uma tabela quando no existe um valor padro especificado.
CURRENT_TIMESTAMP Funo no determinista que retorna a data e hora
atual do sistema.
CURRENT_USER Funo no determinista que retorna o nome do usurio atual
como um nome de sistema.

Exemplo
--Resultado: O usurio atual : dbo
SELECT 'O usurio atual : ' + CONVERT(VARCHAR(MAX), CURRENT_USER);
GO
DATALENGTH Funo determinista que retorna o nmero de bytes usados
para representar qualquer expresso.
SUSER_SNAME Funo no determinista que retorna o nome de identificao
do login de um nmero de identificao de segurana do usurio.

Funes de metadados
Retornam informaes sobre o banco de dados e os seus objetos.
DB_NAME Retorna o nome do banco de dados;
OBJECT_ID Retorna o nmero identificador do objeto do banco de dados atual;
OBJECT_NAME Retorna o nome do objeto do banco de dados

Exemplo
--Dados de objeto
USE AdventureWorks;
GO
DECLARE @ObjId INT
SET @ObjId = (SELECT OBJECT_ID('Sales.Customer', 'U'));
SELECT NAME, OBJECT_ID, Type_desc
FROM sys.objects
WHERE NAME = OBJECT_NAME(@ObjId);
GO
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

Funes para Nulos (NULL)


Executa operaes sobre valores nulos nas tabelas.
ISNULL: Substitui nulo com outro valor definido.
NULLIF: Retorna nulo se as duas expresses dadas forem equivalentes;
COALESCE: Retorna a primeira expresso no nula entre os seus argumentos.

Exemplo
/*Retorna a mdia dos pesos dos produtos, substituindo
os valores nulos por cinqnta */
USE AdventureWorks;
GO
SELECT AVG(ISNULL(Weight, 50)) AS 'Peso Mdio'
FROM Production.Product;
GO

Variveis
Uma varivel um lugar de um determinado nome usado para armazenar
dados. possvel declarar variveis no corpo de um procedimento de lote usando
o comando DECLARE. possvel atribuir valores s variveis usando um comando
SET ou SELECT. Aps as declaraes, todas as variveis so inicializadas com NULL.

Variveis Locais
Uma varivel local um objeto que pode reter um nico valor de dados de um
determinado tipo. Ao contrrio, uma tabela varivel usada para armazenar uma
quantidade de registros.

Sintaxe para declarar uma varivel local:


DECLARE @nome_variavel AS <tipo_de_dado>
possvel usar declaraes SET e SELECT para atribuir valores s variveis. A
diferena fundamental entre as declaraes SET e SELECT so que o SELECT permite
que seja atribuido um valor a mais de uma varivel de uma vez. A outra diferena
que o SET padro ANSI para atribuir valores s variveis e o comando SELECT no.
Obs: Se for usado o comando SELECT para atribuir valor a uma varivel,
preciso se certificar que ele retorne apenas um valor. De qualquer forma, quando a

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

10

Profor: Gilberto Braga de Oliveira

Tecnologias e Linguagens para Banco de Dados II

expresso for o nome de uma coluna, ela poder retornar mais de um valor. Se
retornar mais de um valor, a varivel atribuda com o ultimo valor retornado.

Exemplo
--Declarao de variveis
DECLARE @V1 AS INT, @V2 AS INT
--Inicializando variveis com SELECT
SELECT @V1 = 1, @V2 = 2
PRINT 'V1: ' + CONVERT(CHAR(1), @V1)
PRINT 'V2: ' + CONVERT(CHAR(1), @V2)
--Atribuindo valores s variveis com SET
SET @V1 = 3
SET @V2 = 4
PRINT 'V1: ' + CONVERT(CHAR(1), @V1)
PRINT 'V2: ' + CONVERT(CHAR(1), @V2)

Tabelas Variveis
As Tabelas Variveis surgiram como alternativa para Tabelas Temporrias no
sentido de armazenar uma lista de registros. Tabelas variveis proporcionam muitas
vantagens quando comparadas com as tabelas temporrias.
As Tabelas Variveis podem ser usadas para armazenar um resultado listado
em SQL Server, ao invs de Tabelas Temporrias que requerem a declarao e limpeza
do cdigo.
Tabelas Variveis usam menos recursos que uma tabela temporria, por causa
do seu escopo bem definido.
Tabelas

Variveis

podem

ser

usada

para

transaes

porque

elas

so

atualizadas de maneira mais dinmica que as tabelas temporrias. Assim existe menos
travamento e falhas de login quando comparadas com Tabelas Temporrias.
Tabelas Variveis requerem menos recompilaes quando comparadas com
Tabelas Temporrias. Quando so armazenadas Tabelas Temporrias em uma stored
procedure pode-se precisar executar recompilaes adicionais da stored procedure.

Exemplo
USE AdventureWorks;
GO
--Declarao de tabela varivel
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

11

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

DECLARE @ProdutoTotal TABLE


(
CodProduto INT,
Receita MONEY
)
--Preenchimento da tabela
INSERT INTO @ProdutoTotal(CodProduto, Receita)
SELECT ProductID, SUM(UnitPrice * OrderQty)
FROM Sales.SalesOrderDetail
GROUP BY ProductID;
GO

Expresses
Expresso uma combinao de identificadores, valores e operadores
que o SQL Server pode avaliar para obter um resultado. Expresses podem ser parte
de um dado a ser consultado a partir de uma Query. possvel usar expresses em
uma busca condicional a fim de encontrar um dado especfico.

Uma expresso pode ser uma:


 Constante;
 Funo;
 Nome de coluna;
 Varivel;
 Sub consulta;
 Declaraes NULLIF, COALESCE e CASE.

Exemplos de uso de expresses:


possvel construir expresses combinando esses elementos com operadores.
Por exemplo, na clausula SELECT a seguir o caractere literal B% usado junto com
a clausula LIKE e deve estar entre aspas simples.
USE AdventureWorks;
GO
SELECT LastName, FirstName
FROM Person.Contact
WHERE LastName LIKE 'B%';
GO
Coloque caracteres do tipo Data envolvidos em aspas simples, conforme o
exemplo:
USE AdventureWorks;
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

12

Profor: Gilberto Braga de Oliveira

Tecnologias e Linguagens para Banco de Dados II

GO
SELECT *
FROM HumanResources.Employee
WHERE BirthDate = '1972 May 15';
GO
No exemplo a seguir, mais de uma expresso usada:
USE AdventureWorks;
GO
SELECT ProductID, (UnitPrice * OrderQty) AS Total, (ReceivedQty + 10) AS
Recebido
FROM Purchasing.PurchaseOrderDetail;
GO

Converses implcitas e explicitas


Os tipos de dados definem os dados a serem acondicionados nos objetos de
dados como colunas, variveis e parmetros. Os dois tipos de converso de tipos de
dados so o tipo implcito e o explcito. Quando declarado um tipo de dado para
um objeto o compilador obtem informaes necessrias para que seja feita a maioria
das converses. Essas converses podem ser teis para o trabalho com os valores
armazenados em outros objetos do banco de dados. Quando o compilador faz a
converso desses dados automticamente usada uma converso implcita. Quando
o administrador do banco de dados faz esse convero ela uma convero
explcita. Evite converses implcitas sempre que possvel.

Tipos de declaraes condicionais


Uma declarao condicional uma expresso que precisa ser formulada para
avaliar uma condio

especfica, que pode

resultar

em

verdadeiro, falso

ou

desconhecido. Ento, dependendo do resultado, possvel decidir a ao a ser


executada. O T-SQL suporta declaraes condicionais, e permite extenses procedurais
para SQL que oferece vrias estruturas de controle de fluxo.

BEGIN... END
Encapsula uma srie de declaraes T-SQL que pode ser executada como um
bloco. O BEGIN e o END so palavras chave para linguagens de controle de fluxo.

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

13

Profor: Gilberto Braga de Oliveira

Tecnologias e Linguagens para Banco de Dados II

Sintaxe:
BEGIN
{
Declaracao_TSQL|BlocoTSQL
}
END

Exemplo:
USE AdventureWorks;
GO
BEGIN TRANSACTION;
GO
IF @@TRANCOUNT = 0
BEGIN
SELECT *
FROM Person.Contact
WHERE LastName = 'Adams';
ROLLBACK TRANSACTION
PRINT 'Desfazer uma transao duas vezes pode causar erro!'
END
ROLLBACK TRANSACTION
PRINT 'Desfazendo a transao!';
GO

IF... ELSE
Impe condies durante a execuo de uma declarao T-SQL. A declarao TSQL ou bloco aps a palavra reservada IF executado somente se a condio for
satisfeita e a expresso booleana retornar Verdadeiro.

Sintaxe:
IF Expressoa_Booleana
BEGIN
{
Declaracao_TSQL|Bloco_TSQL
END
[ELSE
BEGIN
{
Declaracao_TSQL|Bloco_TSQL
END]

Exemplo:
IF (SUSER_SNAME() = 'sa')
BEGIN
PRINT 'Parabns, voc SA neste sistema!'
END
ELSE
BEGIN
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

14

Profor: Gilberto Braga de Oliveira

Tecnologias e Linguagens para Banco de Dados II

PRINT 'Voc no SA neste sistema!'


END;
GO
De outra forma, a declarao ou bloco seguinte a palavra reservada ELSE ser
executado. Mas sempre melhor incluir declaraes BEGIN...END ao usar IF...ELSE.

WILE...
Estabelece uma condio para a repetio de uma declarao ou bloco T-SQL,
enquanto a condio especficada for avaliada como verdadeira. As declaraes BREAK
e CONTINUE em um lao WHILE ajudam a parar ou reinicializar a execuo do lao.

Sintaxe:
WHILE Expressao_Booleana
BEGIN
[BREAK]
{
Declaracao_TSQL | Bloco_TSQL
[CONTINUE]
END

Exemplo:
DECLARE @Mes INT, @DtInteira VARCHAR(30), @Linha VARCHAR(250)
SELECT @Mes = 1
WHILE (@Mes <= 12)
BEGIN
--Cria a data inteira
SELECT @DtInteira = '1/' + RTRIM(CONVERT(CHAR(2), @Mes)) + '/09'
--Incrementa uma varivel para o ms
SELECT @Mes = @Mes + 1
--Gera a linha de sada
SELECT @Linha = 'Processado em: ' + @Dtinteira
--Imprime a sada
PRINT @Linha
END;
GO

CASE...
Avalia uma lista de condies e executa uma das expresses possveis.

Sintaxe:
CASE Expressao_Entrada
WHEN Expressao_When1 THEN Expressao_Resultante1
WHEN Expressao_When2 THEN Expressao_Resultante2
[...]
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

15

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

WHEN Expressao_WhenN THEN Expressao_ResultanteN


[ELSE
Expressao_Resultante_ELSE]
END

Exemplo:
USE AdventureWorks;
GO
SELECT EmployeeID, DepartmentID, Periodo =
CASE ShiftID
WHEN 1 THEN 'Matutino'
WHEN 2 THEN 'Vespertino'
WHEN 3 THEN 'Noturno'
END
FROM HumanResources.EmployeeDepartmentHistory
ORDER BY EmployeeID;
GO

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

16

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

Usando Scripts T-SQL

Trabalhando com scripts T-SQL


Scripts T-SQL so uma srie de declaraes T-SQL que podem ser armazenadas
em um arquivo, que pode ser usado como entrada para o SQL Query Analyzer ou SQL
Management Studio. Estes utilitrios podem executar os scripts SQL para gerar uma
sada desejada. Um script T-SQL tem um ou mais lotes que controlam como o SQL
Server ir executar os scripts. Eles so tipicamente armazenados como copias
permanentes de segurana para criar e popular bancos de dados em um servidor ou
como um mecanismo de backup.

Diretivas de lote
Uma diretiva de lote contem uma ou mais declaraes SQL, separados por um
ponto e virgula, construdo em uma string simples. Lotes podem ser mais eficientes do
que submeter declaraes separadamente, pois o trfego na rede reduzido. O cdigo
T-SQL executado em lotes. Por isso, devem ser usadas diretivas de lote em
instrues que o SQL Server seja capaz de agrupar e executar, todas em um nico
lote.

GO
Esta diretiva sinaliza o final de um lote de declaraes T-SQL para utilitrios
SQL Server. Esses utilitrios interpretam o GO como um sinal para enviar o lote de
declaraes para o SQL Server executar. GO no um comando T-SQL mas um

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

17

Profor: Gilberto Braga de Oliveira

Tecnologias e Linguagens para Banco de Dados II

comando reconhecido pelo SQL Management Studio e pelos utilitrios SQLCMD. Os


utilitrio SQLCMD permitem a entrada de declaraes T-SQL, procedimentos de
sistema, e arquivos de script no prompt de comando.
Exemplo do uso da diretiva de lote GO:
USE AdventureWorks;
GO
DECLARE @TesteGo AS VARCHAR(50)
SELECT @TesteGo = CAST((SELECT Title FROM HumanResources.Employee WHERE
EmployeeID = 7) AS VARCHAR(50));
GO
--A varivel @TesteGo no vlida aps o lote terminado por GO na linha
acima
--Portanto haver um erro na continuao da execuo do cdigo nas
prximas linhas
PRINT @TesteGo;
GO

EXEC
Esta diretiva executa uma funo, um procedimento de sistema, uma stored
procedore, ou uma extended stored procedure, em lote T-SQL. Ela tambm suporta a
execuo de declaraes T-SQL dinmicas criadas pela concatenao de strings literais
e strings variveis. Suporta tambm a execuo de um caractere string em lote.
Exemplo do uso da diretiva EXEC
USE AdventureWorks;
GO
--Criao da Procedure com auxilio da diretiva EXEC
CREATE PROC SelecionaTabela
@Tabela sysname
AS
EXEC ('SELECT * FROM ' + @Tabela);
GO
--Execuo da Procedure criada com EXEC
EXEC SelecionaTabela 'Production.Product';
GO

; (Ponto e Vrgula)

um

terminador

opcional

em

declaraes

T-SQL.

Uma

declarao

considerada completa apenas quando o ponto e virgula colocado no final. Quando


uma declarao SQL ocupa muitas linhas em um script ou quando ela digitada como
uma linha de conamdo, preciso usar o ponto e virgula para indicar que a declarao
est completa.
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

18

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

Observe o exemplo:
SELECT *
FROM HumanResources.Employee
WHERE EmployeeID = 3;
GO

SET
Esta diretiva altera a forma como uma determinada informao de uma sesso
especificada obtida. A declarao SET agrupada nas categorias a seguir
 Data e Hora
 Proteo
 Execuo de consulta
 Configurao SQL-92
 Estatsticas
 Transaes
 Miscelnea
Exemplo:
SET ROWCOUNT
SET DATEFORMAT
SET TRANSACTION ISOLATION LEVEL

Adicionando comentrios a um cdigo T-SQL


fundamental documentar o cdigo adicionando comentrios apropriados
porque isso ajuda queles que faro a manuteno do cdigo a entender o seu
propsito. Alm do mais, quando um nmero de linhas de cdigo em uma aplicao
aumenta, o prprio desenvolvedor pode sentir dificuldade em se lembrar do propsito
de cada linha. De qualquer forma, o cdigo comentado ajuda a identificar facilmente
blocos com comandos crticos. Tambm importante manter o histrico das
manutenes de cdigo para ajudar com problemas recorrentes. Em SQL Server
existem duas formas de adicionar comentrios em declaraes T-SQL.

Comentrio de linha (--):


Comentrios de linha so comentrios que abrangem apenas uma linha, e
podem ser inseridos em um linha separada, aninhados no final de uma linha de

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

19

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

comando T-SQL, ou contido em uma declarao T-SQL. Dois hifens (--) so o padro
SQL92 indicado para comentrios. Veja a seguir um exemplo de comentrio de linha:
-- Seleciona todas as colunas e todas as linhas
SELECT * FROM HumanResources.Employee;
GO

Comentrios de Bloco (/* ... */)


Comentrios de bloco so usados quando necessrio inserir blocos de
declaraes como comandos. Deve ser inserido o comentrio entre /* e */. O cdigo a
seguir contem um exemplo de comentrio de bloco.
/* Seleciona todas as colunas e todas as linhas
a partir da tabela HumanResource.Employee */
SELECT * FROM HumanResources.Employee;
GO
Obs: Cdigo comentado no executado pelo servidor

Melhores prticas para escrever cdigo T-SQL


Para facilitar a leitura do cdigo escrito preciso seguir algumas das melhores
prticas recomendadas. Estas prticas facilitam uma performance melhorada para as
aplicaes.

Formatao
Formate o cdigo T-SQL com as palavras reservadas todas maisculas e
identificando as declaraes de cdigo. Essa prtica certifica a definio correta de
blocos e a seqncia de cdigo.
Exemplo de formatao:
DECLARE @Var INT
BEGIN
SET @Var = 1
END;
GO

Nomeando objetos
Uma das melhores e mais simples prticas a serem seguidas quando os objetos
so nomeados ;
Alocar objetos em colchetes. Exemplo: [Clientes];
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

20

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

Manter as primeiras letras maisculas nos nomes das tabelas, assim como os
nomes dos bancos de dados DetalhePedido;
Incluir nomes de schemas nos nomes dos objetos. Exemplo: Vendas.Clientes;
Observe os exemplos a seguir:
USE AdventureWorks;
SELECT SalesOrderID
FROM Sales.SalesOrderDetail;
GO

Usando ponto e virgula (;)


Use ponto e virgula para indicar o final de uma declarao extensa. O uso do
ponto e virgula muito til ao executar comandos em utilitrios de linha de comando.
Diversos outros bancos de dados exigem o uso de ponto e virgula. Alm do mais, usar
ponto e virgula com SQL facilita qualquer necessidade futura de migrao do banco de
dados.
Observe o exemplo a seguir:
USE AdventureWorks;
GO
SELECT SalesOrderID, ProductID, OrderQty
FROM AdventureWorks.Sales.SalesOrderDetail
WHERE SalesOrderID>50000;
GO

Usando o padro ANSI SQL


A maioria dos desenvolvedores usam o padro ANSI-SQL quando no h
diferena de execuo e funcionalidade por que mais confivel para todos os tipos de
banco de dados. Por exemplo, preciso usar SET ao invs de SELECT sempre que
possvel.
USE AdventureWorks;
GO
DECLARE @Var INT;
SET @Var = CAST((SELECT TaxRate
FROM [Sales].[SalesTaxRate]
WHERE SalesTaxRateID = 23)AS INT)
PRINT @Var;
GO

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

21

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

Comentando cdigo
Adicione comentrios apropriados ao cdigo e ele se tornar mais fcil de ser
revisado.
Exemplo de comentrio de cdigo
/*Seleciona todos os registros cujo campo SalesOrderID so maiores que
50000
*/
SELECT SalesOrderID, ProductID, OrderQty
FROM AdventureWorks.Sales.SalesOrderDetail
WHERE SalesOrderID > 50000;
GO
Em sntese, considere tambm as prticas a seguir como um complemento das
melhores prticas para escrever cdigo T-SQL:
 No use a declarao SELECT * em pesquisas. Sempre especifique o nome
das colunas a serem consultadas.
 Use SQL avanado, views, ou tabelas SQL Server 2000 quando processar
dados. De outra forma uma tabela temporria criada durante o
processamento de dados e isso envolve muitas operaes de entrada e sada de
dados em disco.
 Use a declarao SET NOCOUNT ON no inicio dos lotes SQL, stored procedures
e triggers em ambiente de produo. Isso certifica que as menssagens padro
no aparecero aps a execuo.
 Evite usar declaraes SQL dinmicas sempre que possvel, pois sempre
durante a execuo, o SQL Server deve criar um plano de execuo. Portanto, a
execuo torna-se mais lenta que as declaraes SQL estticas.
 Use convenes prprias de notao para obter uniformidade e melhorar a
capacidade de leitura do cdigo. Por exemplo, quando nomear stored
procedures, use sp como um prefixo. Da mesma forma, quando definir variveis
integer e char, prefixe as variveis com i e c respectivamente.

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

22

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

Ferramentas de pesquisa T-SQL

Em SQL Server 2005, possvel pesquisar bancos de dados usando vrias


ferramentas como o SQL Server Management Studio, o Business Intelligence
Development Studio, o SQLCMD, e o Visual Studio .NET Designers. Ao usar o
SQL Server Management Studio, possvel criar uma soluo de banco de dados e
executar uma query. Tambm possvel executa uma query SQL Server em outras
aplicaes clientes como o Microsoft Office Access e o Microsoft Office Excel. Alm
disso, ao conectar o SQL Server possvel executar queries a partir de outras
aplicaes clientes que usam o Open Database Connectivity (ODBC), o Object Linking
and Embedding Database (OLEDB) e o SQL Native Access Client (SNCLI).

Ferramentas de pesquisa em bancos de dados SQL Server 2005


Observe a seguir as ferramentas de desenvolvimento em SQL Server 2005 com
o foco no SQL Server Management Studio. Existem vrias ferramentas para
desenvolvimento no Ambiente de Desenvolvimento SQL Server.

SQL Server Management Studio


o ambiente de desenvolvimento principal para o SQL Server 2005. Ele pode
ser usado para criar, executar, e salvar scripts associados a um banco de dados
especfico. Pode ser usado tambm para criar solues de banco de dados contendo
todos os scripts e aplicaes de bancos de dados graficamente. Alm disso, o SQL
Server Managemnet Studio oferece o Query Builder, que pode ser usado para criar e
rodar queries.
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

23

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

Business Intelligence Development Studio


um ambiente de desenvolvimento para SQL Server 2005. Pode ser usado para
criar e manter solues de BI ponto-a-ponto. O Business Intelligence Development
Studio tambm usado para desenvolver aplicaes SSAS.

SQLCMD
uma nova ferramenta de pesquisa em linha de comando do SQL Server 2005
que substitui os utilitrios isql e o osql. O SQLCMD funciona como uma alternativa para
a interface grfica do SQL Server Management Studio. Podem ser executadas
pesquisas interativas em SQLCMD, assim como poderiam ser executadas com o isql e
o osql. Alm disso, o SQLCMD pode ser usado para automatizar scripts T-SQL que so
evocados pelos arquivos de lote ou outras aplicaes que no precisam ser
programadas na API do SQL Server.

Visual Studio .NET Designers


SQL Server 2005 proporciona muitas extenses para o Microsoft Visual Studio
.NET environment. Isso torna fcil a construo de recursos SQL Server 2005 como
relatrios e objetos de banco de dados.
Obs: Tambm podem ser usados os produtos do pacote Office como Microsoft
Office Access e Microsoft Office Excel para acessar bancos de dados SQL Server e
apresentar os resultados em seus respectivos ambientes. Usurios tambm executam
pesquisas usando consultas T-SQL em ambiente SQL Server Management Studio. Aps
exeutar suas consultas eles copiam e colam o cdigo em suas respectivas aplicaes.

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

24

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

Executando uma query em MS Excel

Figura 1 - Menu Dados, Importar dados externos, Criar nova consulta a banco de dados.
possvel pesquisar o banco de dados AdventureWorks, importar e exportar
dados necessrios, de um banco de dados para o MS Excel. Para importar dados
externos de uma fonte de dados especfica no MS Excel, a partir do menu
Dados, aponte para Importar Dados Externos, e clicar em Criar nova consulta a
banco de dados.... A caixa de dilogo Escolher a fonte de dados ser exibida.
Verifique se a opo Usar o assistente de consulta para criar/editar consultas
est marcada. Especifique o nome da fonte de dados, o driver para conexo
especfica. Para isso na guia banco de dados, na caixa de dilogo Escolha a fonte
de dados, verifique se a opo Nova fonte de dados est selecionada e clique em
OK. A caixa de dilogo Criar nova fonte de dados exibida.

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

25

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

Figura 2 - Caixa de dilogo Escolher a fonte de dados.


Especifique o nome da fonte de dados, na caixa de texto, informe qual o
nome da fonte de dados. Aps nomear a fonte de dados, especifique o nome do
driver baseado no tipo de banco de dados. O banco de dados AdventureWorks um
banco de dados SQL Server, assim, na caixa de listagem Selecionar um driver para
o banco de dados, selecione SQL Server. Para conectar ao banco de dados
AdventureWorks, clique em conectar. A caixa de dilogo de Login SQL Server ser
exibida. Na lista de servidores, especifique o servidor a ser usado.

Figura 3 - Caixa de dilogo: Criar nova fonte de dados


Verifique se a caixa de checagem Usar conexo confivel est selecionada.
Na regio opes, especifique os detalhes da conexo. Em bancos de dados, clique
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

26

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

em AdventureWorks; Idioma, clique em English; Em Nome do Aplicativo,


confirme se a verso do Microsoft Office da sua mquina; Em Identificao da
estao de trabalho, verifique se o servidor especfico est selecionado e clique
em OK. A caixa de dilogo Criar uma nova fonte de dados exibida.

Figura 4 - Caixa de dilogo Logon do SQL Server.


Para selecionar uma tabela padro para a fonte de dados, clique em Address e
clique em OK. Na caixa de dilogo Escolha a Fonte de Dados que ser exibida,
verifique se TesteDSN est selecionado e clique em OK. O Assistente de consulta
escolher colunas ser exibido. Na tabela Address, selecione a coluna City. Clique
em (>) adicionar para adicionar a coluna City na lista de Colunas em sua consulta.
Agora, clique em Avanar. A pgina filtrar dados do Assistente de consulta ser
exibida. Para executar a query e exibir os nomes das cidades diferentes de Newark,
clique na condio diferente de e clique em Newark.

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

27

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

Figura 5 - Caixa de dilogo Criar nova fonte de dados completa.

Figura 6 - Caixa de dilogo: Assistente de consulta - escolher colunas

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

28

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

Figura 7 - Assistente de consulta - filtrar dados


Na pgina filtrar dados, clique em prximo. Uma pgina de ordem de
classificao surge. Na opo ordenar por clique em City e clique em prximo. Surge
a pgina final do assistente de consulta. Para retornar o resultado da query em MS
Excel, selecione a opo Retornar dados ao Microsoft Excel, e clique em Finish.

Figura 8 - Assistente de consulta: ordem de classificao.

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

29

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

Figura 9 - Caixa de dilogo: Assistente de consulta: concluir.


Selecione a coluna onde os dados devem ser exibidos, a linha e coluna onde o
cursor est colocado ser a referncia padro para a caixa de dilogo Importar
Dados. Para aceitar o padro clique em OK. Agora o Microsoft Office Excel est
populado com os nomes de vrias cidades, exceto Newark.

Figura 10 - Caixa de dilogo: Importar dados

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

30

Tecnologias e Linguagens para Banco de Dados II

Profor: Gilberto Braga de Oliveira

Figura 11 - Planilha do Excel populada com dados do SQL Server 2005

Demonstrao
1. Abra o Microsoft Office Excel
2. No menu Dados, aponte para Importar e Exportar Dados, e clique em Criar
nova consulta a banco de dados.... A caixa de dilogo Escolha a fonte de
dados ser exibida.
3. Na guia Banco de dados, verifique se Nova Fonte de Dados est
selecionada, e clique em Ok. Surgir a caixa de dilogo Criar nova fonte de
dados.
4. Na caixa de texto Qual nome deseja dar sua fonte de dados?, escreva
TesteDSN.
5. Na caixa de lista Selecione um driver para o tipo de banco de dados que
voc deseja acessar:, clique em SQL Server.
6. Na caixa de dilogo Criar um nova fonte de dados, clique em Conectar. A
caixa de dilogo Logon do SQL Server surge.
7. Na lista Servidor, escreva o nome do servidor que est sendo usado (Exemplo:
GILBERTE-325703). Verifique se a opo Usar conexo confivel est
selecionada.
8. Clique em Opes. As opes so exibidas.
9. Na lista de Banco de dados, clique em AdventureWorks.
10. Na lista de Idioma, clique em Ingls.
11. Na caixa de texto Nome do aplicativo, verifique se alguma verso do
Microsoft Office est selecionada.

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

31

Profor: Gilberto Braga de Oliveira

Tecnologias e Linguagens para Banco de Dados II

12. Na caixa de texto Identificao da estao de trabalho, verifique se est o


nome do servidor (GILBERTE-325703), e clique em OK.
13. Na lista Selecione uma tabela padro para a fonte de dados (opcional):
clique em Address e clique em OK.
14. Na caixa de dilogo Criar nova fonte de dados que surge, verifique se
TesteDSN est selecionado, e clique em OK. O Assistente de Consulta ser
exibido.
15. Na lista Tabelas e Colunas disponveis da pgina escolher colunas, clique
para selecionar City na tabela Address. A tabela Address estar selecionada.
16. Clique em adicionar (>) para adicionar City para a lista de Colunas em sua
consulta.
17. Na pgina escolher colunas, clique em Prximo. A pgina de filtrar dados
ser exibida.
18. Clique em City na rea Coluna a filtrar. Na lista City da seo S Incluir
linhas onde, clique em desigual, e clique em Newark.
19. Na pgina filtrar dados,
classificao ser exibida.

clique

em

prximo.

pgina

Ordem

de

20. Na caixa de listagem Classificar por, clique em City, e clique em Prximo,


para aceitar as configuraes padro. A caixa de dilogo concluir do
Assistente de consulta ser exibida.
21. Na pgina O que gostaria de fazer a seguir?, verifique que a opo
Retornar dados ao Microsoft Excel esteja selecionada, e clique em
Concluir. A caixa de dilogo de Importar dados ser exibida.
22. Clique OK para aceitar as configuraes padro. Os dados da coluna City sero
importados para o Microsoft Offce Excel sem a cidade Newark.

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340
Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115
E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

32

Você também pode gostar