No Oracle, para remover a restrição primary key da tabela tribunal e a restrição foreign key associada a essa chave primária, utiliza-se a instrução
ADELETE primary key FROM tribunal ON CASCADE;
BALTER TABLE tribunal DELETE primary key ON CASCADE;
CDELETE primary key, foreign key FROM tribunal;
DALTER TABLE tribunal DROP primary key CASCADE;
EDROP primary key FROM tribunal CASCADE foreign key;
Revelar gabarito e comentário▾
GabaritoD — ALTER TABLE tribunal DROP primary key CASCADE;
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: Remoção de chave primária com dependentes
Gabarito: letra D. No Oracle, a instrução correta para remover uma restrição PRIMARY KEY e todas as restrições FOREIGN KEY que referenciam essa chave primária é ALTER TABLE nome_tabela DROP PRIMARY KEY CASCADE;. As demais alternativas usam comandos inválidos (DELETE em vez de DROP) ou sintaxe incorreta.
A banca testa o conhecimento da sintaxe DDL do Oracle para gerenciamento de constraints. A cláusula CASCADE é essencial para que as foreign keys dependentes sejam automaticamente removidas junto com a primary key.
Alternativa A — ❌ Incorreta
DELETE primary key FROM tribunal ON CASCADE; — O comando DELETE é usado para remover dados (linhas) de uma tabela, não para remover restrições. Além disso, a sintaxe está completamente fora do padrão Oracle/SQL.
Alternativa B — ❌ Incorreta
ALTER TABLE tribunal DELETE primary key ON CASCADE; — A cláusula correta dentro de ALTER TABLE para remover uma constraint é DROP, não DELETE. O uso de ON CASCADE também não faz parte da sintaxe de remoção.
Alternativa C — ❌ Incorreta
DELETE primary key, foreign key FROM tribunal; — Novamente, DELETE é para dados, não para constraints. A lista separada por vírgulas não é reconhecida.
Alternativa D — ✅ Correta ⟵ GABARITO
ALTER TABLE tribunal DROP primary key CASCADE; — Exatamente a sintaxe correta do Oracle. O comando ALTER TABLE ... DROP PRIMARY KEY remove a restrição de chave primária da tabela. A opção CASCADE instrui o banco a também remover todas as foreign keys que referenciam essa primary key, evitando erros de integridade referencial.
Alternativa E — ❌ Incorreta
DROP primary key FROM tribunal CASCADE foreign key; — Não se usa DROP diretamente com FROM para remover constraints; é necessário ALTER TABLE. Além disso, a cláusula CASCADE foreign key não é válida.
NÃO CAIA NESSA!
A banca explora a confusão entre comandos DML (DELETE) e DDL (DROP). O candidato pode lembrar que para remover dados usa-se DELETE, mas para remover a estrutura da constraint o correto é DROP dentro de ALTER TABLE. A cláusula CASCADE é o detalhe que garante a exclusão das foreign keys associadas.
PEGA ESSA DICA!
Decore a sintaxe: ALTER TABLE nome ADD/DROP PRIMARY KEY [CASCADE]. O CASCADE é obrigatório quando existem foreign keys dependentes; sem ele, o Oracle retornará erro de integridade.