Updated on 2025-07-22 GMT+08:00

BEGIN

Function

BEGIN may be used to initiate an anonymous block or a single transaction. This section describes the syntax of BEGIN used to initiate an anonymous block. For details about the BEGIN syntax that initiates transactions, see START TRANSACTION.

An anonymous block is a structure that can dynamically create and execute stored procedure code instead of permanently storing code as a database object in the database.

Precautions

None

Syntax

  • Enable an anonymous block:
    1
    2
    3
    4
    5
    [DECLARE [declare_statements]] 
    BEGIN
    execution_statements  
    END;
    /
    
  • -- Start a transaction:
    1
    2
    3
    4
    5
    6
    7
    BEGIN [ WORK | TRANSACTION ]
      [ 
        { 
           ISOLATION LEVEL { READ COMMITTED | READ UNCOMMITTED | SERIALIZABLE | REPEATABLE READ }
           | { READ WRITE | READ ONLY }
          } [, ...] 
      ];
    

Parameter Description

Table 1 BEGIN parameters

Parameter

Description

Value Range

declare_statements

Declares a variable, including its name and type, for example, sales_cnt int.

-

execution_statements

Specifies the statement to be executed in an anonymous block.

Use an existing function name.

Examples

  • Start a transaction block.
    1
    BEGIN;
    
  • Start a transaction block at the REPEATABLE READ isolation level.
    1
    BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ;
    
  • Generate a string using an anonymous block.
    1
    2
    3
    4
    BEGIN
    dbms_output.put_line('Hello');
    END;
    /
    

Helpful Links

START TRANSACTION