Imagem de fundo

Durante a preparação de um script de implantação em Oracle Database, uma equipe incluiu...

Durante a preparação de um script de implantação em Oracle Database, uma equipe incluiu, na mesma sequência de execução, comandos para alterar a estrutura de uma tabela, atualizar registros já existentes, conceder privilégio de consulta a um perfil de aplicação e tentar desfazer a execução ao final caso alguma etapa apresentasse inconsistência. O script continha comandos como ALTER TABLE, UPDATE, GRANT e ROLLBACK. Considerando a classificação dos comandos SQL e o comportamento transacional típico do Oracle em relação a comandos de definição de dados, assinale CORRETAMENTE:


A

ALTER TABLE, UPDATE e GRANT são comandos transacionais equivalentes, pois todos podem ser completamente revertidos por ROLLBACK desde que executados na mesma sessão e antes de um COMMIT explícito.


B

GRANT é comando DDL, pois cria privilégios como objetos físicos do banco, enquanto o ALTER TABLE é comando DCL, pois controla a estrutura de acesso à tabela, e ROLLBACK desfaz apenas comandos de concessão de privilégios.


C

UPDATE e ALTER TABLE são ambos comandos DML, mas apenas o primeiro exige bloqueio de linhas. Já GRANT e ROLLBACK pertencem à DDL, por atuarem sobre metadados do banco de dados.


D

ALTER TABLE é comando DDL, UPDATE é comando DML, GRANT é comando DCL e ROLLBACK é comando de controle transacional. Entretanto, no Oracle, comandos DDL realizam confirmação implícita, o que limita a possibilidade de desfazê-los por ROLLBACK comum.