No PostgreSQL 9.0, o comando para remover uma view chamada vendas de forma a recusar a remoção da mesma se existirem objetos que dependem dela é
ADROP VIEW vendas CONSTRAINT NO-REMOVE;
BDROP VIEW vendas RESTRICT;
CTRUNCATE VIEW vendas CONSTRAINT NO ACTION;
DDELETE VIEW vendas CONSTRAINT NO REMOVE;
EDROP VIEW vendas CASCADE;
Revelar gabarito e comentário▾
GabaritoB — DROP VIEW vendas RESTRICT;
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”.
PostgreSQL: Comando DROP VIEW
Gabarito: letra B. No PostgreSQL 9.0, o comando DROP VIEW com a opção RESTRICT recusa a remoção da view caso existam objetos que dependam dela (como outras visões ou funções). A opção RESTRICT é o comportamento padrão e impede a exclusão se houver dependências, enquanto CASCADE remove também os objetos dependentes.
A banca testa o conhecimento das cláusulas do comando DROP VIEW no PostgreSQL, especificamente RESTRICT e CASCADE. O padrão SQL e o PostgreSQL seguem essa sintaxe.
DROP VIEW (PostgreSQL)
1RESTRICT (padrão)
Recusa remoção se houver dependentes
2CASCADE
Remove view + objetos dependentes
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
A sintaxe "CONSTRAINT NO-REMOVE" não existe no PostgreSQL. O comando correto utiliza as opções RESTRICT ou CASCADE, não essa cláusula inventada.
Alternativa B — ✅ Correta ⟵ GABARITO
DROP VIEW vendas RESTRICT é o comando correto. A opção RESTRICT faz com que a remoção seja recusada se houver dependentes, atendendo exatamente ao enunciado.
Alternativa C — ❌ Incorreta
TRUNCATE VIEW não é um comando válido para remover views. TRUNCATE é usado para tabelas, não para views. Além disso, "CONSTRAINT NO ACTION" é uma cláusula de integridade referencial, não de remoção de view.
Alternativa D — ❌ Incorreta
DELETE VIEW não existe. DELETE é usado para remover linhas de uma tabela, não para excluir objetos do banco.
Alternativa E — ❌ Incorreta
DROP VIEW vendas CASCADE remove a view e todos os objetos que dependem dela. O enunciado pede o comando que recuse a remoção se existirem dependentes, ou seja, que não permita a exclusão. CASCADE faz o oposto: remove também os dependentes.