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, é
AADD COLUMN custas NUMBER(10,2) TO processo WHERE custas > 10000;
BALTER TABLE processo ADD custas NUMBER (10,2) CONSTRAINT processo_custas_ck CHECK (custas > 10000);
CADD COLUMN custas NUMBER(10,2) TO processo WITH CONSTRAINT processo_custas_ck CHECK (custas 10000);
DALTER TABLE processo ADD custas NUMBER (10,2) ADD CONSTRAINT processo_custas_ck CHECK (custas >= 10000);
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);