Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Reclamação] Erro na resposta da atividade "Controle de Transação" da aula 3 do curso Oracle PL/SQL: Procedures, funções e exceções

Boa noite!

Na aula 3 do curso Oracle PL/SQL: Procedures, funções e exceções, a atividade pede para marcar 2 alternativas corretas, no entanto só uma está 100% correta que é a "Se dentro do bloco não contiver comandos de fim de transação, a transação permanece aberta depois de passar pelo END do bloco".

A alternativa "A transação é aberta no primeiro comando SQL executado" não está 100% correta, porque da forma como a resposta está escrita, dá a entender que qualquer comando SQL pode abrir uma transação, sendo que no Oracle Database a transação só é realmente iniciada com comandos DML, consultas de bloqueio como o SELECT ... FOR UPDATE ou um SELECT com DBLINK e SET TRANSACTION. Como até o momento esse detalhe não foi mencionado, acho que seria interessante colocar essa informação nessa resposta para não confundir quem possa estar começando com ORACLE PL/SQL.

Desde já, muito obrigado pelos conteúdos dos cursos da formação Oracle!

1 resposta
solução!

Olá Daniel, tudo bem?

Você está correto: no Oracle, uma transação não é iniciada por qualquer comando SQL (como um SELECT simples), mas sim por comandos que exigem consistência de estado ou bloqueios, como DMLs (INSERT, UPDATE, DELETE), SELECT ... FOR UPDATE ou transações distribuídas via DBLINK.

O texto foi ajustado para deixar esse ponto mais claro.

Agradeço por sua observação.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!