MW211 EXIT

devlog
PostgreSQL/SQL上でトランザクション処理
2013年06月17日
「pgAdmin」の「Query」などからトランザクション処理を再現するには、
以下のようなSQL文を順番に実行すればよい。
┌──────────────────────────────────────┐
│BEGIN;                                                                      │
├──────────────────────────────────────┤
│(SQL文;)                                                                    │
├──────────────────────────────────────┤
│COMMIT;                                                                     │
└──────────────────────────────────────┘
┌──────────────────────────────────────┐
│BEGIN;                                                                      │
├──────────────────────────────────────┤
│(SQL文;)                                                                    │
├──────────────────────────────────────┤
│ROLLBACK;                                                                   │
└──────────────────────────────────────┘
「BEGIN」でトランザクションが開始して、「COMMIT」または「ROLLBACK」で終了。
もちろん、「COMMIT」はトランザクション中の処理を履行して、
「ROLLBACK」は取り消す。

終了せずに再度開始(「BEGIN」を二回続けて実行など)すると、
以下のようなワーニングメッセージが出るが、問題はないようだ。
┌──────────────────────────────────────┐
│WARNING:  there is already a transaction in progress                        │
└──────────────────────────────────────┘
分類:PostgreSQL