Pular para o conteúdo principal

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

Banco de DadosOracle
Código
fc075559
Banca
FCC
Órgão
TRT - 6ª Região (PE)
Ano
2025
Nível
Superior
Cargo
Analista Judiciário - Área Apoio Especializado - Especialidade: Tecnologia da Informação
Em um banco de dados Oracle aberto e em condições ideais, o comando utilizado para adicionar uma coluna custas do tipo NUMBER (10,2) à tabela processo, estabelecendo uma restrição que impede que valores de custas menores ou iguais a 10000 sejam inseridos, é
  1. AADD COLUMN custas NUMBER(10,2) TO processo WHERE custas > 10000;
  2. BALTER TABLE processo ADD custas NUMBER (10,2) CONSTRAINT processo_custas_ck CHECK (custas > 10000);
  3. CADD COLUMN custas NUMBER(10,2) TO processo WITH CONSTRAINT processo_custas_ck CHECK (custas 10000);
  4. DALTER TABLE processo ADD custas NUMBER (10,2) ADD CONSTRAINT processo_custas_ck CHECK (custas >= 10000);
  5. EALTER TABLE processo ADD custas NUMBER (10,2) CONSTRAINT processo_custas_ck WHERE (custas > 10000);
Revelar gabarito e comentário

GabaritoB — ALTER TABLE processo ADD custas NUMBER (10,2) CONSTRAINT processo_custas_ck CHECK (custas > 10000);

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 SQL: Adicionar coluna com restrição CHECK

Gabarito: letra B. A sintaxe correta no Oracle para adicionar uma coluna com restrição CHECK é ALTER TABLE ... ADD ... CONSTRAINT ... CHECK (condição). A restrição deve ser CHECK (custas > 10000), que impede valores menores ou iguais a 10000.

A questão exige o comando que adiciona a coluna custas NUMBER(10,2) à tabela processo, com uma restrição que proíba valores <= 10000. A condição correta é custas > 10000.

Alternativa A — ❌ Incorreta

Sintaxe inválida: ADD COLUMN ... TO não existe no Oracle. Deveria ser ALTER TABLE processo ADD ....

Alternativa B — ✅ Correta ⟵ GABARITO

Sintaxe e condição corretas: ALTER TABLE processo ADD custas NUMBER (10,2) CONSTRAINT processo_custas_ck CHECK (custas > 10000);

Alternativa C — ❌ Incorreta

Sintaxe inválida (ADD COLUMN ... TO, WITH CONSTRAINT) e a condição CHECK (custas 10000) está incompleta e sem operador.

Alternativa D — ❌ Incorreta

A restrição usa >= 10000, permitindo o valor 10000. O enunciado exige que valores <= 10000 sejam impedidos, portanto a condição deveria ser > 10000.

Alternativa E — ❌ Incorreta

Uso indevido de WHERE para restrição. O correto é CHECK (custas > 10000).

NÃO CAIA NESSA!

A alternativa D usa >= em vez de >. O enunciado diz "impede que valores menores ou iguais a 10000 sejam inseridos", ou seja, apenas valores estritamente maiores que 10000 são permitidos. A condição com >= liberaria o valor 10000, contrariando a exigência.

Resumo da sintaxe correta:

  • Comando: ALTER TABLE nome ADD coluna tipo CONSTRAINT nome_ck CHECK (condição);

  • Para a questão: ALTER TABLE processo ADD custas NUMBER(10,2) CONSTRAINT processo_custas_ck CHECK (custas > 10000);

Gabarito: letra B

Link permanente: /questoes/fc075559