【初学者必見!】SQLの基本、実務使用例を徹底解説!セーブポイント編

SAVEPOINT SQL

※この記事にはプロモーションが含まれています。

ふりかえり

\楽天ポイント4倍セール!/
楽天市場

筆者
筆者

本記事は、SQLの基本、実務使用例編になります。

SQLの基礎に関しましては、

【初学者必見!】SQLの超基礎編の記事をご覧くださいませ。

A子
A子

本編に入ります!

\楽天ポイント4倍セール!/
楽天市場

SAVEPOINTとは?

SAVEPOINT は、トランザクション(処理のまとまり)の途中に「中間地点(セーブポイント)」を作る機能です。
この中間地点まで**ROLLBACK(取り消し)**できるようになります。

ポイント

  • セーブポイントを作ると、その時点まで戻ることができる
  • 複数の変更を部分的に取り消したいときに便利
  • トランザクションの中でのみ使える

実務レベルの使用例を見ていこう!

筆者
筆者

実際に、SQLを使用してデータを確認していきましょう。

SQLに関しては以下を使用して解説していきます。

create table文、select文、insert文、update文、delete文、

drop table文、につきましては、過去にアップロードした

【初学者必見!】SQLの超基礎編の記事をご覧くださいませ。

A子
A子

目次の、「ふりかえり」のところにそれぞれの記事のリンクが

貼ってあるよ!

または、サイドバーのカテゴリーにSQLがあるから、そちらからでも

参照できます!

Oracle Live SQLで実行していきます!

今回、実行するSQLの一覧

テーブル作成

create table employees (
  id number primary key,
  name varchar2(50)
);

データ追加+SAVEPOINT

-- トランザクション開始(明示的にBEGINは不要、INSERTから開始される)

insert into employees values (1, '田中');
savepoint sp1;  -- ここでセーブポイント1

insert into employees values (2, '佐藤');
savepoint sp2;  -- ここでセーブポイント2

insert into employees values (3, '鈴木');

一部だけ取り消し

rollback to sp2;  -- 「鈴木」の追加を取り消す。田中と佐藤は残る

データ確認

select * from employees;

最後にコミット(確定)

commit;

まとめ

コマンド説明
savepoint 名称セーブポイントを設定
rollback to 名称指定したセーブポイントまで巻き戻し
commitトランザクション全体を確定
rollbackトランザクション全体を最初から取り消し
筆者
筆者

SAVEPOINTについて解説しました。

次回もお楽しみに!

\楽天ポイント4倍セール!/
楽天市場
この記事を書いた人
たくたく

文系出身・3年目のWeb系エンジニアです。
C#とSQLを得意としています。
同棲生活は2年目に入り、日々仲良く楽しく暮らしています。
プライベートではバイクや車で旅行に行くことが趣味です。
サンリオ好きで、中でもシナモン推しです。
お酒好きとして毎週の晩酌をリラックスタイムにしています。

たくたくをフォローする
SQLエンジニア
シェアする

コメント

タイトルとURLをコピーしました