すべてのプロダクト
Search
ドキュメントセンター

PolarDB:BEGIN

最終更新日:May 31, 2024

BEGINはトランザクションブロックを開始します。つまり、BEGINコマンドの後のすべてのステートメントは、明示的なCOMMITまたはROLLBACKが指定されるまで、単一のトランザクションで実行されます。 デフォルトでは (BEGINなしで) 、PolarDB PostgreSQLは「自動コミット」モードでトランザクションを実行します。つまり、各ステートメントは独自のトランザクションで実行され、ステートメントの最後に暗黙的にコミットが実行されます (実行が成功した場合、そうでない場合はロールバックが実行されます) 。

説明

トランザクションの開始 /コミットにはかなりのCPUとディスクのアクティビティが必要なため、ステートメントはトランザクションブロックでより迅速に実行されます。 トランザクション内の複数のステートメントの実行は、いくつかの関連する変更を行うときに一貫性を確保するのにも役立ちます。他のセッションは、すべての関連する更新が行われていない中間状態を見ることができません。

分離レベル、読み取り /書き込みモード、または延期モードが指定されている場合、新しいトランザクションには、SET transactionが実行されたかのような特性があります。

概要

BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]

    transaction_modeは次のとおりです。

        隔離レベル {SERIALIZABLE | 繰り返し読み取り | READ COMMITTED | READ UNCOMMITTED}
        READ WRITE | READ ONLY
        [ではない] 親愛なる 

パラメーター

WORK | TRANSACTION: オプションのキーワード。 彼らは効果がありません。

このステートメントの他のパラメーターの意味については、「SET TRANSACTION」をご参照ください。

ノート

  • SET TRANSACTIONにはBEGINと同じ機能があります。

  • トランザクションブロックを終了するには、COMMITまたはROLLBACKを使用します。

  • すでにトランザクションブロック内にあるときにBEGINを発行すると、警告メッセージが表示されます。 トランザクションの状態は影響を受けません。 トランザクションブロック内のトランザクションをネストするには、savepointsを使用します (SAVEPOINTを参照) 。

  • 下位互換性の理由から、連続するtransaction_mode間のコンマは省略することが

トランザクションブロックを開始するには:

開始;