Questão de Banco de Dados — DW - Data Warehouse — FCC 2016
- Código
- fc033353
- Banca
- FCC
- Órgão
- TRT - 14ª Região (RO e AC)
- Ano
- 2016
- Nível
- Superior
- Cargo
- Analista Judiciário - Tecnologia da Informação
- ASWITCH.
- BTRUNCATE.
- CMERGE.
- DIFCOMMAND.
- EEXEC.
GabaritoC — MERGE.
Gabarito: letra C. A instrução MERGE (também conhecida como upsert) é um comando DML do padrão SQL que permite inserir, atualizar ou excluir linhas condicionalmente em uma única operação, com base em uma condição de junção. É amplamente utilizado em ambientes de Data Warehouse para sincronizar tabelas com dados de múltiplas origens, evitando o uso de várias instruções DML separadas.
A banca cobra o conhecimento de comandos SQL específicos para manipulação condicional de dados. O MERGE é a ferramenta ideal para cenários onde se precisa aplicar lógica de "se existe, atualize; senão, insira" (e eventualmente excluir), comum em processos ETL.
SWITCH não é um comando SQL padrão para manipulação de dados. Em alguns bancos de dados, pode existir como palavra reservada para outros fins, mas não atende à funcionalidade descrita.
TRUNCATE é um comando DDL que remove todas as linhas de uma tabela de forma rápida e irreversível (dependendo do SGBD). Não permite lógica condicional nem operação seletiva, sendo inadequado para o cenário proposto.
O comando MERGE combina operações de INSERT, UPDATE e DELETE condicionais em uma única instrução, baseando-se na comparação entre a fonte e o destino. No Oracle 11g, a sintaxe típica é:
MERGE INTO tabela_destino d
USING tabela_origem o ON (condição)
WHEN MATCHED THEN UPDATE SET ...
WHEN NOT MATCHED THEN INSERT ...Pode-se também incluir a cláusula WHEN MATCHED THEN DELETE, desde que no mesmo conjunto. Isso reduz a quantidade de instruções DML e otimiza a performance em operações de Data Warehouse.
IFCOMMAND não existe como comando SQL no Oracle 11g (ou em qualquer banco relacional padrão). Não é uma instrução DML.
EXEC (ou EXECUTE) é utilizado para executar procedimentos armazenados ou funções, não para manipular dados diretamente com lógica condicional. Não realiza operações DML por si só.
Em questões sobre Data Warehouse e SQL, lembre-se que o MERGE é o comando coringa para operações de upsert e sincronização. É um dos tópicos mais cobrados em provas de Banco de Dados, especialmente da FCC.
Gabarito: letra C.
Link permanente: /questoes/fc033353