Questão de Banco de Dados — PL-SQL — FCC 2016
- Código
- fc029067
- Banca
- FCC
- Órgão
- ELETROBRAS-ELETROSUL
- Ano
- 2016
- Nível
- Superior
- Cargo
- Informática
- AII, III e IV.
- BI e IV.
- CII e III.
- DI e III.
- EI, II e IV.
GabaritoC — II e III.
Gabarito: letra C. Apenas os itens II e III apresentam sintaxe correta em Oracle PL/SQL. O item I usa ponto e vírgula (;) como separador na lista do operador IN, quando o correto é vírgula (,). O item IV utiliza END_CASE no lugar de END para encerrar a expressão CASE, o que é inválido.
O operador IN exige que os valores sejam separados por vírgula, não por ponto e vírgula. A sintaxe correta seria:
WHERE id IN ('SA_REP', 'ST_CLERK') AND salario NOT IN (2000, 3000, 5000)O uso de ; gera erro de sintaxe no Oracle.
A instrução utiliza corretamente aritmética, a função ROUND (com dois argumentos) e aliases entre aspas duplas. Não há erro de sintaxe.
A função LPAD é aplicada corretamente: LPAD(salario, 15, '$') preenche o valor com $ à esquerda até completar 15 caracteres. O alias Salário também é válido.
A expressão CASE deve ser encerrada com a palavra END. No comando, foi escrito END_CASE, o que torna a consulta inválida. O alias deve vir após o END, por exemplo:
CASE id WHEN ... ELSE '0' END "end_case"Conclusão: Apenas os itens II e III estão corretos → gabarito C.
Item | Sintaxe Correta? | Motivo |
|---|---|---|
I | ❌ | Usa |
II | ✅ | Aritmética, |
III | ✅ |
|
IV | ❌ |
|
Link permanente: /questoes/fc029067