Pular para o conteúdo principal

Questão de Banco de Dados — Oracle — FCC 2018

Banco de DadosOracle
Código
fc044248
Banca
FCC
Órgão
DPE-AM
Ano
2018
Cargo
Analista em Gestão Especializado de Defensoria - Analista de Sistema
No Oracle um Analista de Sistemas precisa alterar o status da tabela departamentos para "somente leitura", de forma a evitar ações que possam alterar dados. Para isso, deverá utilizar o comando PL/SQL
  1. AALTER STATUS departamentos READ ONLY;
  2. BALTER STATUS TO READY ONLY from departamentos;
  3. CALTER TABLE departamentos WITH CONSTRAINT READY ONLY;
  4. DALTER TABLE departamentos SET STATUS='READY ONLY';
  5. EALTER TABLE departamentos READ ONLY;
Revelar gabarito e comentário

GabaritoE — ALTER TABLE departamentos READ ONLY;

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: ALTER TABLE READ ONLY

Gabarito: letra E. No Oracle, o comando correto para colocar uma tabela em modo somente leitura é ALTER TABLE nome_tabela READ ONLY; — comando DDL que impede qualquer operação DML (INSERT, UPDATE, DELETE) sobre a tabela. A alternativa E reproduz exatamente essa sintaxe.

A banca testa o conhecimento da sintaxe específica do Oracle para alteração do estado de uma tabela. O recurso de READ ONLY foi introduzido no Oracle 11g e é frequentemente usado para proteger dados históricos ou de referência.

Alternativa A — ❌ Incorreta

A sintaxe ALTER STATUS departamentos READ ONLY não existe no Oracle. Não há comando ALTER STATUS para tabelas. O correto é ALTER TABLE.

Alternativa B — ❌ Incorreta

ALTER STATUS TO READY ONLY from departamentos — além de usar ALTER STATUS (inexistente), a preposição from está errada e a palavra READY está grafada incorretamente (deveria ser READ, sem o Y).

Alternativa C — ❌ Incorreta

ALTER TABLE departamentos WITH CONSTRAINT READY ONLY — o uso de WITH CONSTRAINT não é válido. A cláusula correta é READ ONLY diretamente após o nome da tabela, sem WITH CONSTRAINT. Além disso, READY ONLY está com erro de ortografia.

Alternativa D — ❌ Incorreta

ALTER TABLE departamentos SET STATUS='READY ONLY' — a sintaxe SET STATUS não é reconhecida no Oracle para essa finalidade. O estado de leitura é definido com as palavras-chave READ ONLY ou READ WRITE, não por atribuição de string.

Alternativa E — ✅ Correta ⟵ GABARITO

ALTER TABLE departamentos READ ONLY — comando correto, conforme a documentação oficial do Oracle. Após sua execução, qualquer tentativa de modificar dados na tabela resultará em erro.

NÃO CAIA NESSA!

Decore a sintaxe exata: ALTER TABLE nome READ ONLY; e ALTER TABLE nome READ WRITE; (para reativar gravação). Não confunda com READY (que não existe) nem com cláusulas adicionais como SET ou CONSTRAINT.

Gabarito: letra E.

Link permanente: /questoes/fc044248