Comandos MSSQL Incompatíveis com Microsoft Access

Comandos básicos: 1. Criar banco de dados: CREATE DATABASE nome_banco 2. Remover banco de dados: DROP DATABASE nome_banco 3. Backup no SQL Server: USE master
EXEC sp_addumpdevice 'disk', 'backupDevice', 'C:\\backup\\dados.bak'
BACKUP DATABASE exemplo TO backupDevice 4. Criar tabela: CREATE TABLE clientes (id INT PRIMARY KEY, nome VARCHAR(50))
Criar a partir de tabela existente: CREATE TABLE novo_clientes AS SELECT * FROM clientes WHERE 1=0 5. Excluir tabela: DROP TABLE clientes 6. Adicioanr coluna: ALTER TABLE clientes ADD email VARCHAR(100) 7. Chave primária: ALTER TABLE clientes ADD PRIMARY KEY (id) 8. Índices: CREATE INDEX idx_nome ON clientes (nome)
DROP INDEX idx_nome 9. Views: CREATE VIEW v_clientes AS SELECT id, nome FROM clientes
DROP VIEW v_clientes

Operações básicas: ```

-- Seleção SELECT * FROM produtos WHERE preco > 100

-- Inserção INSERT INTO produtos (nome, preco) VALUES ('Monitor', 350)

-- Atualização UPDATE produtos SET preco = 400 WHERE id = 10

-- Exclusão DELETE FROM produtos WHERE estoque = 0

-- Filtro com LIKE SELECT * FROM clientes WHERE nome LIKE 'A%'

-- Agregações SELECT COUNT(*) AS total, AVG(preco) AS media FROM produtos


Operadores avançados: ```

-- União
SELECT produto FROM lojaA
UNION
SELECT produto FROM lojaB

-- Diferença
SELECT id FROM tabelaA
EXCEPT
SELECT id FROM tabelaB

-- Interseção
SELECT id FROM tabelaA
INTERSECT
SELECT id FROM tabelaB

Junções: ```

-- Junção esquerda SELECT a.id, b.venda FROM clientes a LEFT JOIN vendas b ON a.id = b.cliente_id

-- Junção direita SELECT a.id, b.pagamento FROM clientes a RIGHT JOIN pagamentos b ON a.id = b.cliente_id

-- Junção completa SELECT a.id, b.historico FROM clientes a FULL OUTER JOIN acessos b ON a.id = b.cliente_id


Exemplos úteis: ```

-- Copiar estrutura
SELECT * INTO nova_tabela FROM original WHERE 1=2

-- Copiar dados entre bancos
INSERT INTO db2.dbo.clientes 
SELECT * FROM db1.dbo.clientes

-- Subconsulta
SELECT nome FROM clientes 
WHERE id IN (SELECT cliente_id FROM pedidos)

-- Paginação
SELECT TOP 10 * 
FROM (SELECT TOP 20 id, data FROM logs ORDER BY data DESC) AS temp 
ORDER BY data ASC

Modificação de tabelas: ```

-- Adicionar coluna autoincremento ALTER TABLE usuarios ADD codigo INT IDENTITY(1,1) PRIMARY KEY

-- Renomear coluna ALTER TABLE pedidos ALTER COLUMN valor DECIMAL(10,2)

-- Alterar tipo de dados ALTER TABLE produtos ALTER COLUMN preco MONEY

-- Remover coluna ALTER TABLE funcionarios DROP COLUMN endereco_antigo


Aleatoriedade: ```

-- 10 registros aleatórios (SQL Server)
SELECT TOP 10 * FROM produtos ORDER BY NEWID()

-- 5 registros aleatórios (MySQL)
SELECT * FROM clientes ORDER BY RAND() LIMIT 5

Tags: MSSQL SQL-Server microsoft-access DDL DML

Publicado em 7-3 05:40