Daniel Paulo dptsalvador@hotmail.com SQL Server 2016 Módulo II Daniel Paulo dptsalvador@hotmail.com
Capítulo 7 – Introdução à Programação Neste capítulo estudaremos a criação de variáveis, o uso de operadores aritméticos, relacionais e lógicos e o uso de elementos de controle de fluxo.
Variáveis Uma variável local Transact-SQL é um objeto que pode conter um valor de dados de um tipo específico.
Declaração de Variáveis -- 1. Declaração de variáveis DECLARE @A INT = 10; DECLARE @B INT = 20; PRINT @A + @B -- OU ENTÃO DECLARE @A INT = 10, @B INT = 20;
Atribuindo valores -- 2. Atribuição com SET DECLARE @A INT = 10, @B INT = 20, @C INT; SET @C = @A + @B; PRINT @C; -- ou então DECLARE @A INT, @B INT, @C INT; SET @A = 10; SET @B = 20;
Operadores Página 221 à 223
Controle de Fluxo Controla a sequência de execução das instruções SQL. BEGIN / END Inicia e finaliza um bloco de instruções
IF/ELSE Testa uma determinada condição DECLARE @A INT = 10, @B INT = 15; IF @A > @B BEGIN PRINT @A; PRINT 'É MAIOR QUE'; PRINT @B; END PRINT 'CONTINUAÇÃO DO CÓDIGO’
IF/ELSE -- Mesmo código com valor diferente nas variáveis DECLARE @A INT = 15, @B INT = 10; IF @A > @B BEGIN PRINT @A; PRINT 'É MAIOR QUE'; PRINT @B; END PRINT 'CONTINUAÇÃO DO CÓDIGO’
IF/ELSE DECLARE @A INT = 15, @B INT = 10; IF @A > @B BEGIN PRINT @A; PRINT 'É MAIOR QUE'; PRINT @B; END ELSE PRINT @A; PRINT 'NÃO É MAIOR QUE'; PRINT 'CONTINUAÇÃO DO CÓDIGO'
WHILE O comando WHILE faz com que um comando bloco de comandos seja executado repetidamente. BREAK: Interrompe o loop CONTINUE: Reinicia o LOOP ignorando as instruções que vierem após a palavra CONTINUE.
WHILE DECLARE @CONT INT = 0; WHILE @CONT <= 100 BEGIN PRINT @CONT; SET @CONT += 2 END PRINT 'FIM'
GOTO Pula a execução de um bloco de comandos A: PRINT 'AGORA ESTOU NO PONTO "A"' GOTO C B: PRINT 'AGORA ESTOU NO PONTO "B"' GOTO D C: PRINT 'AGORA ESTOU NO PONTO "C"' GOTO B D: PRINT 'AGORA ESTOU NO PONTO "D"' PRINT 'FIM. QUE BAGUNÇA'
RETURN / WAITFOR Sai da consulta incondicionalmente PRINT 'AGORA ESTOU NO PONTO "A"' PRINT 'AGORA ESTOU NO PONTO "B"' RETURN PRINT 'AGORA ESTOU NO PONTO "C"' PRINT 'AGORA ESTOU NO PONTO "D"' -- WAITFOR WAITFOR DELAY '00:00:05' PRINT 'ESPEREI 5 SEGUNDOS'
Exists
Atribuição de valor de uma consulta
Capítulo 7 – Introdução à Programação Laboratório página 234 à 240