14
Linguagem Procedural do
SQL Server 2008
Lineu Antonio de Lima Santos
Teresina, 29 de outubro de 2014
Introdução
• T-SQL é a linguagem para manipulação e consulta de dados do SQL Server
• Ela estende a linguagem SQL padrão, adicionando as seguintes características:
– Definição de variáveis
– Comandos de controle de fluxo
– Funções especiais para manipulação de strings, datas, numéricos etc
– Manipulação de cursores
• Com essa linguagem é possível escrever conjuntos de comandos que podem ser processados em blocos dentro do servidor
– Blocos anônimos, procedures, functions e triggers
2
Banco de Dados Para Testes
• Criar o banco de dados Agenda fornecido pelo professor
3
Definição de Variáveis
• Usamos DECLARE para declarar variáveis em qualquer parte de um bloco de comandos
Transact - SQL
• Cada variável declarada tem:
– Nome: precedido do caractere @
– Tipo: qualquer tipo de dado definido no SQL Server
– Escopo local
• Exemplo
DECLARE @v1 INT,
@v2 VARCHAR(10),
@v3 DATETIME
4
Atribuindo Valores
• Existem várias formas de atribuir um valor a uma variável:
– Comando SET
– Comando SELECT
– Comando FETCH (para cursores)
• Exemplo
5
Atribuindo Valores
6
Atribuindo Valores
• Quando atribuímos valores usando o comando SELECT e a consulta retorna várias linhas, apenas será considerado na atribuição os valores referentes à última linha • Veja um exemplo a seguir relacionado à tabela Cidade
7
Atribuindo Valores
8
Controle de Fluxo
• T-SQL possui os seguintes comandos de controle de fluxo
–
–
–
–
–
–
–
–
–
BEGIN...END
BREAK
CONTINUE
GOTO label
IF...ELSE
RETURN
TRY...CATCH
WAITFOR
WHILE
9
BEGIN ... END
• Engloba uma série de instruções T-SQL de modo que um grupo de instruções pode ser executado.
• Sintaxe:
BEGIN
Bloco de Comandos
END
• Os blocos BEGIN...END podem ser aninhados 10
IF .. ELSE
• Condicional do T-SQL
• Exemplo
11
WHILE
• Define uma condição para a execução repetida de uma instrução ou um bloco de instruções SQL.
• As