Quando se abre uma Transaction no SQL Server em uma Procedu...

Próximas questões
Com base no mesmo assunto
Q2398020 Banco de Dados
Quando se abre uma Transaction no SQL Server em uma Procedure, é necessário informar um comando para realmente persistir nas tabelas que sofreram INSERT, UPDATE e DELETE no término da ação. Esse comando é chamado de
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - Commit.

Vamos abordar o tema central da questão, que é o controle de transações em uma base de dados SQL Server. O conceito é muito importante em ambientes de bancos de dados, pois garante a integridade e a consistência dos dados durante operações que modificam as tabelas, como INSERT, UPDATE e DELETE.

Uma transação é um conjunto de operações que são tratadas como uma única unidade de trabalho. Isto significa que todas as operações devem ser completadas (commit) ou todas devem falhar (rollback). O COMMIT é uma instrução SQL que é usada para indicar o fim de uma transação com sucesso, asegurando que todas as modificações realizadas durante a transação sejam persistidas na base de dados. Por outro lado, o ROLLBACK é utilizado para desfazer todas as operações realizadas dentro de uma transação, retornando os dados ao estado anterior.

No contexto de uma procedure, quando se inicia uma transação com o comando BEGIN TRANSACTION, deve-se utilizar o comando COMMIT para concluir essa transação com sucesso, tornando permanentes as alterações realizadas. Caso contrário, nenhuma das alterações feitas durante a transação será salva na base de dados.

Entendendo cada uma das alternativas:

  • A - ROLLBACK: comando para desfazer uma transação, não para concluir.
  • B - BEGIN TRANSACTION: inicia uma transação e não a finaliza.
  • C - COMMIT: é o comando correto que deve ser utilizado para efetivar as mudanças realizadas pela transação na base de dados.
  • D - TRY: é parte da estrutura de tratamento de erros TRY...CATCH em SQL, não relacionada diretamente com a finalização de transações.

Portanto, a resposta correta é a C - Commit, pois é o comando usado para finalizar uma transação aberta no SQL Server, assegurando que todas as operações de INSERT, UPDATE e DELETE sejam permanentemente aplicadas na base de dados.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

As transações em um sistema relacional devem ser atômicas, ou seja: ou acontece inteira ou não acontece nada. Quando uma transação inicia o sistema é colocado em um estado volátil e não persistente. Então, se não for informado o comando COMMIT ao SGBD, ele inicia automaticamente um ROLLBACK que retorna o sistema ao estágio válido anterior mais recente. Impedindo que, por exemplo, eu peça que o sistema faça A e B e algum erro que aconteça entre a operação A e B deixe o sistema em um estado inválido, que só ocorreu A.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo