Questão de Banco de Dados — Consultas e Comandos em SQL — Quadrix 2024
- Código
- qa630671
- Banca
- Quadrix
- Órgão
- NOVACAP
- Ano
- 2024
- Cargo
- Ana Sis ( )

- CCerto
- EErrado

GabaritoE — Errado
Gabarito: ERRADO (letra E). O comando apresentado no enunciado, INSERT INTO SERVICO ('DESOBSTRUÇÃO DE REDE');, está sintaticamente incorreto e, portanto, não é suficiente para inserir um novo serviço na tabela. A sintaxe padrão do comando INSERT exige a cláusula VALUES para especificar os valores a serem inseridos, além de, opcionalmente, a lista de colunas. A forma correta seria INSERT INTO SERVICO (coluna) VALUES ('DESOBSTRUÇÃO DE REDE');.
O comando INSERT é um dos comandos da sublinguagem DML (Data Manipulation Language) do SQL, responsável por inserir novos registros (tuplas) em uma tabela. A sintaxe básica e mais comum é:
INSERT INTO nome_da_tabela (coluna1, coluna2, ...) VALUES (valor1, valor2, ...);Nessa sintaxe, nome_da_tabela é o nome da tabela onde o registro será inserido; (coluna1, coluna2, ...) é a lista opcional de colunas que receberão os valores; e VALUES (valor1, valor2, ...) é a cláusula obrigatória que especifica os valores a serem inseridos, na mesma ordem das colunas listadas. Se a lista de colunas for omitida, o comando assume que os valores serão fornecidos para todas as colunas da tabela, na ordem em que foram definidas na estrutura da tabela.
No comando do enunciado, INSERT INTO SERVICO ('DESOBSTRUÇÃO DE REDE');, há dois problemas principais. Primeiro, falta a cláusula VALUES, que é essencial para indicar quais dados serão inseridos. Segundo, o valor 'DESOBSTRUÇÃO DE REDE' está entre parênteses, mas sem a palavra-chave VALUES, o que torna a sintaxe inválida. A forma correta, assumindo que a tabela SERVICO tenha uma coluna chamada, por exemplo, descricao, seria:
INSERT INTO SERVICO (descricao) VALUES ('DESOBSTRUÇÃO DE REDE');Ou, se a tabela tiver apenas uma coluna e quisermos inserir em todas:
INSERT INTO SERVICO VALUES ('DESOBSTRUÇÃO DE REDE');É importante notar que a omissão da lista de colunas é permitida, mas a cláusula VALUES é sempre obrigatória. Além disso, a ordem dos valores deve corresponder à ordem das colunas na tabela, e os valores de texto devem estar entre aspas simples.
A banca explora aqui um erro clássico de sintaxe: o candidato pode se confundir e achar que basta colocar o valor entre parênteses após o nome da tabela, esquecendo da cláusula VALUES. Essa é uma pegadinha comum em questões de SQL, que testa o conhecimento da sintaxe exata do comando INSERT.
O comando INSERT INTO SERVICO ('DESOBSTRUÇÃO DE REDE'); está incorreto porque falta a cláusula VALUES, que é obrigatória para especificar os dados a serem inseridos. A sintaxe correta exige INSERT INTO ... VALUES (...). Além disso, o comando não especifica a coluna da tabela SERVICO que receberá o valor, o que pode ser aceitável se a tabela tiver apenas uma coluna, mas a ausência de VALUES torna o comando inválido em qualquer SGBD relacional.
Gabarito: letra E (ERRADO).
Link permanente: /questoes/qa630671