Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — Quadrix 2024

Banco de DadosConsultas e Comandos em SQL
Código
qa630671
Banca
Quadrix
Órgão
NOVACAP
Ano
2024
Cargo
Ana Sis ( )
Com relação à tabela SERVIÇO acima, implementada em um banco de dados relacional, e à linguagem SQL, julgue o item a seguir.   Para inserir um novo serviço de desobstrução de rede, é suficiente executar comando a seguir. INSERT INTO SERVICO (‘DESOBSTRUÇÃO DE REDE’);Imagem associada para resolução da questão
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Comando INSERT e a sintaxe correta de inserção em SQL

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.

  1. 1INSERT INTO tabela
  2. 2(colunas) opcional
  3. 3VALUES (valores)
LEVEL · soulevel.com.br

Item — ❌ ERRADO

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