Se não tiver um banco de dados SQL Server para utilizar (por exemplo da empresa que você estiver trabalhando), você pode instalar uma versão gratuita no seu computador.
Será necessário ter um computador com os seguintes requisitos mínimos:
Processador Intel - processador compatível com uma velocidade mínima de 1 GHz ou mais rápido
Descompacte o arquivo em uma pasta do seu computador, por exemplo:
C:\temp\AdventureWorks-oltp-install-script
Abra o arquivo: instawdb.sql
Altere no script o caminho onde você baixou os arquivos:
Habilite o SQLCMD Mode:
Execute o script:
Deve ser exibida mensagem de sucesso:
Atualize a lista de bancos de dados:
Expanda a lista do banco recém criado:
Agora, você pode executar uma query para consultar dados de uma das tabelas, por exemplo:
SELECT * FROM Sales.Customer
E execute precionando F5, ou clicando no botão executar:
Criando um banco de dados
Inicie o SQL Server Management Studio:
Para conectar, utilize:
Server type: Database Engine
Server name: localhost\SQLEXPRESS
Authentication: Windows Authentication
Crie o novo banco de dados:
Abra uma nova query:
Para criar uma tabela com 3 registros, digite:
CREATE TABLE Book (
BookId INT,
Title VARCHAR(100) NOT NULL,
Author VARCHAR(100) NOT NULL,
CONSTRAINT PK_Book PRIMARY KEY (BookId)
)
go
INSERT INTO Book (BookId, Title, Author) VALUES (1, 'Clean Code', 'Robert C. Martin')
INSERT INTO Book (BookId, Title, Author) VALUES (2, 'Domain-Driven Design', 'Eric Evans')
INSERT INTO Book (BookId, Title, Author) VALUES (3, 'Implementing Domain-Driven Design', 'Vaughn Vernon')
go
Então, execute pressionando F5, ou clicando no botão Executar.
Para pesquisar todos os registros da tabela, digite o seguinte:
SELECT * FROM Book
6- Básico
//TODO: Complementar
Comentários de código
//TODO: Complementar
Interação com o usuário
//TODO: Complementar
Variáveis
//TODO: Complementar
Tipos
//TODO: Complementar
Palavras reservadas
//TODO: Complementar
Funções
//TODO: Complementar
Built-in Functions
//TODO: Complementar
Strings
//TODO: Complementar
Coleções
//TODO: Complementar
Operadores
//TODO: Complementar
7- Estruturas condicionais
//TODO: Complementar
8- Declaração e tratamento de exceções
//TODO: Complementar
Print
Print
Para imprimir mensagens durante a execução de um comando utilize o comando print
PRINT Mensagem para ser exibida
Flush print buffer
Utilizar “Print” para imprimir mensagens quando uma operação muito longa está sendo executada, nem sempre imprime os resultados no Sql Management Studio.
Utilizar um RAISERROR, no lugar do print, como no comando abaixo força que todas as mensagens do buffer sejam instantaneamente exibidas
Identity
Para que uma coluna seja do tipo auto incremento no SQL Server utilizar o atributo “Identity” ao criar a coluna
Criar uma tabela com coluna Identity
Forçar um ID no insert em uma tabela com Identity
Resetar o Identity
Obter o ID do último registro inserido
NOTAS:
@@IDENTITY - retorna o último valor identity para qualquer tabela na sessão para todos os escopos, é melhor não utilizar porque pode por exemplo retornar o ID de uma trigger que foi disparada
SCOPE_IDENTITY() - retorna o último valor identity para qualquer tabela na sessão e no escopo atuais. Normalmente é o que deve ser usado
IDENT_CURRENT(‘[User]’) - retorna o último valor identity para uma tabela em qualquer sessão e qualquer escopo
Índices
Criar índice unique (Unique Index)
Criar índice somente incluindo somente registros not null
Cursor
Paginação
Transação
Transaction + RaiseError
Datas
Operações com datas
TODO: Incluir exemplos
Data do primeiro dia do mês
Data do primeiro dia da semana
Operações com string
Obtém somente os caracteres numéricos de um texto
Remove acentuação de um texto
Remove caracteres especiais de um texto
Transforma texto separado por vírgula em registros
Transforma os registros em um texto separado por vírgula
Completa texto com espaços ou zeros
Update
Atualiza linhas duplicadas
Converte um texto para ser utilizado como url
Select e Joins
Cross join
A cross join that does not have a WHERE clause produces the Cartesian product of the tables involved in the join
Select usando WITH
Enviar tabela como parâmetro
RANK
Retorna a classificação de cada linha na partição de um conjunto de resultados. A classificação de uma linha é um mais o número de classificações que vêm antes da linha em questão.
Esta função retorna a posição de cada linha dentro de uma partição do conjunto de resultados, sem nenhum intervalo nos valores de classificação. A classificação de uma linha é um mais o número de valores de classificação distintos que vêm antes da linha em questão.