カテゴリ:

トランザクション

COMMIT

現在のセッションで開いているトランザクションをコミットします。

こちらもご参照ください。

BEGINROLLBACKSHOW TRANSACTIONS

構文

COMMIT

使用上の注意

  • If two COMMIT statements in a row are executed (within the same scope), the second one is ignored. For example, in the following code, the second COMMIT has no effect; there is no open transaction to commit.

    begin;
    insert into table1 ...;
    commit;
    commit;  -- Ignored!
    

    自律スコープトランザクションとストアドプロシージャ を使用している場合、ルールはより複雑になる可能性があります。

トランザクションを開始し、いくつかの値をテーブルに挿入してから、コミットしてトランザクションを完了します。

SELECT COUNT(*) FROM A1;

----------+
 COUNT(*) |
----------+
 0        |
----------+

BEGIN NAME T3;

SELECT CURRENT_TRANSACTION();

-----------------------+
 CURRENT_TRANSACTION() |
-----------------------+
 1432071497832         |
-----------------------+

INSERT INTO A1 VALUES (1), (2);

-------------------------+
 number of rows inserted |
-------------------------+
 2                       |
-------------------------+

COMMIT;

SELECT CURRENT_TRANSACTION();

-----------------------+
 CURRENT_TRANSACTION() |
-----------------------+
 [NULL]                |
-----------------------+

SELECT LAST_TRANSACTION();

--------------------+
 LAST_TRANSACTION() |
--------------------+
 1432071497832      |
--------------------+

SELECT COUNT(*) FROM A1;

----------+
 COUNT(*) |
----------+
 2        |
----------+