BEGIN WORK
  
  SQL - Language Statements
 
 
  
   BEGIN WORK
  
  
   Begins a transaction
  
  
  
 
  
   1998-09-08
  
    
BEGIN [ WORK | TRANSACTION ]
  
  
  
   
    1998-09-08
   
   
    Inputs
   
   
       None
  
  
  
   
    1998-09-08
   
   
    Outputs
   
   
   
   
    
     
      status
     
     
      
       
	
	 
	  BEGIN
	 
	 
	  
	   This signifies that a new transaction has been started.
	  
	 
	
	
	 
	   NOTICE:  BeginTransactionBlock and not in default state
	 
	 
	  
	   This indicates that a transaction was already in progress.
The current transaction is not affected.
	  
	 
	
       
      
     
    
   
  
 
 
 
  
   1998-09-08
  
  
   Description
  
  
   BEGIN initiates a user transaction
 which Postgres will
   guarantee is serializable with respect to all concurrently
   executing transactions. Postgres uses two-phase
 locking
   to perform this task. If the transaction is committed,
   Postgres will ensure either that all updates are
 done or else
   that none of
   them are done. Transactions have the standard ACID
   (atomic, consistent, isolatable, and durable) property.
  
  
  
   
    1998-09-08
   
   
    Notes
   
   
    The keyword TRANSACTION is just a cosmetic alternative to WORK.
    Neither keyword need be specified.
   
   
    Refer to the LOCK statement for further information
 about locking tables inside a transaction.
   
   
   
    Use COMMIT or ROLLBACK
 to terminate a transaction.
   
  
  
 
  
   Usage
  
  To begin a user transaction:
  
BEGIN WORK;
  
 
 
 
  
   Compatibility
  
  
    BEGIN
 is a Postgres language extension.
  
  
     
    1998-09-08
   
   
    SQL92
   
    
    There is no explicit BEGIN WORK command in SQL92;
 transaction initiation
    is always implicit and it terminates either with a COMMIT or with
    a ROLLBACK statement.