Oracle Database SQL(Silver SQL)のDML文について学習したため、新たに学んだ知識を記録します。
あわせて、技術記事を書く練習も兼ねています。
なお、この文章はAIに添削してもらっています。
これでも、、、
学んだこと
SAVEPOINT は次のように定義します。
SAVEPOINT savepoint;
今回学習して気づいたのは、
COMMIT または ROLLBACK を実行すると、そのトランザクション中に作成した SAVEPOINT はすべて削除される
という点です。
特定の SAVEPOINT にロールバックしたい場合は、
ROLLBACK 句の後に TO SAVEPOINT セーブポイント名 を指定する必要があります。
ROLLBACK TO [SAVEPOINT] savepoint;
一方、SAVEPOINT を指定せずに ROLLBACK を実行した場合は、
トランザクション開始前の状態までロールバックされ、
そのトランザクション中に作成した SAVEPOINT もすべて削除されるため、注意が必要です。
記載内容に誤りがあれば修正しますので、コメントお願いします。