Questão nº 45
Questão de Tecnologia da Informação · FCC DPE-AM 2017 (nº 45)
O comando do sistema gerenciador de banco de dados Oracle 12c, para retirar o privilégio do usuário abc de exclusão de registros de uma tabela t1, é:
- ACANCEL DEL ON t1 FROM abc;
- BSTOP SUBTRACT FOR t1 FROM abc;
- CREVOKE DELETE ON t1 FROM abc; (alternativa correta)
- DEND ERASE IN PLACE OF t1 FROM abc;
- EWITHDRAW REMOVE OF t1 FROM abc;
Resposta comentada
Gabarito Alternativa C
Para tirar uma permissão (chamada de privilégio) que um usuário tem sobre um objeto (como uma tabela) em um banco de dados Oracle, usamos um comando específico que "revoga" essa permissão.
(A) Incorreta: `CANCEL` e `DEL` não são comandos SQL válidos para revogar privilégios de exclusão.
(B) Incorreta: `STOP` e `SUBTRACT` não são palavras-chave SQL para gerenciar privilégios.
(C) Correta: Este é o comando SQL padrão no Oracle para remover o privilégio de excluir (`DELETE`) registros da tabela `t1` do usuário `abc`. A sintaxe `REVOKE <privilégio> ON <objeto> FROM <usuário>` é a correta.
(D) Incorreta: `END`, `ERASE` e `IN PLACE OF` não fazem parte da sintaxe SQL para revogação de privilégios.
(E) Incorreta: `WITHDRAW` e `REMOVE` não são comandos SQL para revogar privilégios. A armadilha da banca aqui é usar palavras que significam "remover" ou "retirar" no inglês comum, mas que não são os termos técnicos específicos e padronizados da linguagem SQL para essa operação. SQL exige comandos exatos, não sinônimos.
Fonte: FCC DPE-AM 2017 Analista em Gestão Especializado em Tecnologia da Informação de Defensoria - Analista de Banco de Dados (Caderno Tipo 001). Reproduzida para fins de estudo.