Flashnux

GNU/Linux man pages

Livre :
Expressions régulières,
Syntaxe et mise en oeuvre :

ISBN : 978-2-7460-9712-4
EAN : 9782746097124
(Editions ENI)

GNU/Linux

CentOS 5.4

begin(7)


BEGIN

BEGIN

NAME
SYNOPSIS
DESCRIPTION
PARAMETERS
NOTES
EXAMPLES
COMPATIBILITY
SEE ALSO

NAME

BEGIN − start a transaction block

SYNOPSIS

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

where transaction_mode is one of:

ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
READ WRITE | READ ONLY

DESCRIPTION

BEGIN initiates a transaction block, that is, all statements after a BEGIN command will be executed in a single transaction until an explicit COMMIT [commit(7)] or ROLLBACK [rollback(l)] is given. By default (without BEGIN), PostgreSQL executes transactions in ’’autocommit’’ mode, that is, each statement is executed in its own transaction and a commit is implicitly performed at the end of the statement (if execution was successful, otherwise a rollback is done).

Statements are executed more quickly in a transaction block, because transaction start/commit requires significant CPU and disk activity. Execution of multiple statements inside a transaction is also useful to ensure consistency when making several related changes: other sessions will be unable to see the intermediate states wherein not all the related updates have been done.

If the isolation level or read/write mode is specified, the new transaction has those characteristics, as if SET TRANSACTION [set_transaction(7)] was executed.

PARAMETERS

WORK

TRANSACTION

Optional key words. They have no effect.

Refer to SET TRANSACTION [set_transaction(7)] for information on the meaning of the other parameters to this statement.

NOTES

START TRANSACTION [start_transaction(7)] has the same functionality as BEGIN.

Use COMMIT [commit(7)] or ROLLBACK [rollback(7)] to terminate a transaction block.

Issuing BEGIN when already inside a transaction block will provoke a warning message. The state of the transaction is not affected. To nest transactions within a transaction block, use savepoints (see SAVEPOINT [savepoint(7)]).

For reasons of backwards compatibility, the commas between successive transaction_modes may be omitted.

EXAMPLES

To begin a transaction block:

BEGIN;

COMPATIBILITY

BEGIN is a PostgreSQL language extension. It is equivalent to the SQL-standard command START TRANSACTION [start_transaction(7)], which see for additional compatibility information.

Incidentally, the BEGIN key word is used for a different purpose in embedded SQL. You are advised to be careful about the transaction semantics when porting database applications.

SEE ALSO

COMMIT [commit(7)], ROLLBACK [rollback(l)], START TRANSACTION [start_transaction(l)], SAVEPOINT [savepoint(l)]



begin(7)