LEAVE

Leaves a labeled procedural-sql-statement.

leave.png

 

Usage

Procedural.

Description

The LEAVE statement can be used to terminate the execution of a procedural-sql-statement. For a list of procedural SQL statements, see Procedural SQL Statements.

The label is the beginning label of a procedural-sql-statement within the scope containing the LEAVE statement.

Restrictions

A procedural-sql-statement must have a beginning label if LEAVE is to be used to terminate its execution.

Notes

All intervening compound statements between the statement identified by the label and the leave statement will be left. The following actions occur before execution of the compound statements is terminated, after the LEAVE statement is executed:

Every open cursor declared in the compound statements is closed.

All variables, cursors and handlers declared in the compound statements are destroyed.

All condition names declared in the compound statements cease to be defined.

If the LEAVE statement is executed within a compound statement forming the body of a procedure, execution of the procedure will be terminated.

Example

CREATE PROCEDURE procedure_name(INOUT Y INTEGER)

CONTAINS SQL

S0:

BEGIN

 ...

 S1:

 BEGIN

   IF Y < 0 THEN

     SET Y = 0;

     LEAVE S0;

   END IF;

   ...

 END S1;

 ...

END S0;

Standard Compliance

Standard

Compliance

Comments

SQL-2016

Features outside core

Feature P002, “Computational completeness”.