WHENEVER

Defines action to be taken for errors and exception conditions.

whenever.png

 

Usage

Embedded.

Description

The action taken in the event of a condition arising during execution of an SQL statement is governed by the most recently issued WHENEVER statement. There are three different types of conditions: NOT FOUND, SQLEXCEPTION and SQLWARNING. See Return Status and Conditions for a description of the different condition types.

The action taken is as follows:

CONTINUE

Program execution continues at the next sequential statement of the source program.

GOTO

Program execution continues at the source code statement identified by host-label, where host-label is a program label in a program written according to the host language.

Notes

If a condition in an SQL statement is not covered by an explicit WHENEVER statement issued earlier in the host program code, CONTINUE will be assumed.

It’s recommended to set SQLEXCEPTION to CONTINUE action first of all in the diagnostics part of the code, to avoid the risk of a looping application.

Example

      ...

      GOTO 1025

      EXEC SQL WHENEVER SQLEXCEPTION GOTO 1600

1025  CONTINUE

      EXEC SQL DELETE FROM MYTABLE

      ...

1060  CONTINUE

      EXEC SQL WHENEVER SQLEXCEPTION CONTINUE

      EXEC SQL GET DIAGNOSTICS ...

Standard Compliance

Standard

Compliance

Comments

SQL-2016

Core

Fully compliant.