Pular para o conteúdo principal

Questão de Banco de Dados — Visão (View) — FCC 2022

Banco de DadosVisão (View)
Código
fc064936
Banca
FCC
Órgão
TRT - 19ª Região (AL)
Ano
2022
Cargo
Técnico Judiciário - Área Apoio Especializado Especialidade: Tecnologia da Informação
Para alterar o tipo do campo nome para VARCHAR2(30) na tabela departamento de um banco de dados Oracle 11g, aberto e em condições ideais, utiliza-se o comando
  1. AALTER TABLE departamento AND MODIFY COLUMN nome VARCHAR2(30);
  2. BALTER COLUMN nome VARCHAR2(30) FROM departamento;
  3. CALTER TABLE departamento ALTER COLUMN nome VARCHAR2(30);
  4. DMODIFY COLUMN nome TO VARCHAR2(30) FROM departamento;
  5. EALTER TABLE departamento MODIFY nome VARCHAR2(30);
Revelar gabarito e comentário

GabaritoE — ALTER TABLE departamento MODIFY nome VARCHAR2(30);

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”.

Oracle: Comando ALTER TABLE MODIFY

Gabarito: letra E. No Oracle 11g, a sintaxe correta para alterar o tipo de uma coluna é ALTER TABLE nome_tabela MODIFY nome_coluna novo_tipo. As demais alternativas utilizam sintaxes de outros SGBDs (como ALTER COLUMN do MySQL/SQL Server) ou são inválidas.

A banca testa o conhecimento da sintaxe específica do Oracle, que difere da maioria dos outros SGBDs. Enquanto no Oracle usa-se MODIFY, no MySQL e SQL Server o comando é ALTER COLUMN. Veja a comparação:

SGBD

Comando para modificar coluna

Oracle

ALTER TABLE ... MODIFY coluna tipo

MySQL

ALTER TABLE ... MODIFY COLUMN coluna tipo (ou ALTER COLUMN)

SQL Server

ALTER TABLE ... ALTER COLUMN coluna tipo

NÃO CAIA NESSA!

A banca explora a confusão entre as sintaxes dos SGBDs. O candidato pode lembrar do ALTER COLUMN do MySQL/SQL Server e aplicá-lo ao Oracle. Lembre-se: no Oracle, o comando de modificação de coluna é MODIFY, não ALTER COLUMN.

Alternativa A — ❌ Incorreta

ALTER TABLE departamento AND MODIFY COLUMN nome VARCHAR2(30); — A palavra AND é inválida nesse contexto. A sintaxe correta não utiliza AND entre a tabela e a modificação.

Alternativa B — ❌ Incorreta

ALTER COLUMN nome VARCHAR2(30) FROM departamento;ALTER COLUMN é sintaxe do SQL Server/MySQL, não do Oracle. Além disso, a cláusula FROM não é usada para modificar colunas.

Alternativa C — ❌ Incorreta

ALTER TABLE departamento ALTER COLUMN nome VARCHAR2(30); — Novamente, ALTER COLUMN não é a sintaxe Oracle. Apesar de ALTER TABLE estar correto, o uso de ALTER COLUMN torna o comando inválido para o Oracle.

Alternativa D — ❌ Incorreta

MODIFY COLUMN nome TO VARCHAR2(30) FROM departamento; — A ordem e as cláusulas estão incorretas. O comando deve iniciar com ALTER TABLE, e MODIFY não é seguido de COLUMN nem de TO/FROM.

Alternativa E — ✅ Correta ⟵ GABARITO

ALTER TABLE departamento MODIFY nome VARCHAR2(30); — Esta é a sintaxe padrão do Oracle: ALTER TABLE seguido do nome da tabela, MODIFY e a definição da coluna com seu novo tipo.

Gabarito: letra E

Link permanente: /questoes/fc064936