Seth Woolley's Man Viewer

begin(7) - BEGIN - start a transaction block - man 7 begin

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

BEGIN(7)                         SQL Commands                         BEGIN(7)



NAME
       BEGIN - start a transaction block


SYNOPSIS
       BEGIN [ WORK | TRANSACTION ]


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

       Statements  are  executed  more quickly in(1,8) 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.

PARAMETERS
       WORK

       TRANSACTION
              Optional key words. They have no effect.

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

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

       Issuing BEGIN when already inside a transaction block  will  provoke  a
       warning message. The state of the transaction is not affected.

EXAMPLES
       To begin a transaction block:

       BEGIN;


COMPATIBILITY
       BEGIN  is  a  PostgreSQL language extension. There is no explicit BEGIN
       command in(1,8) the SQL standard; transaction initiation is always  implicit
       and it terminates either with a COMMIT or ROLLBACK statement.

       Other  relational database systems may offer an autocommit feature as a
       convenience.

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

SEE ALSO
       COMMIT [commit(7)], ROLLBACK [rollback(l)]




SQL - Language Statements         2003-11-02                          BEGIN(7)

References for this manual (incoming links)