IBM Books

SQL Reference

RAISE_ERROR

>>-RAISE_ERROR--(--sqlstate--,--diagnostic-string--)-----------><
 

The schema is SYSIBM.

The RAISE_ERROR function causes the statement that includes the function to return an error with the specified SQLSTATE, SQLCODE -438 and diagnostic-string. The RAISE_ERROR function always returns NULL with an undefined data type.

sqlstate
A character string containing exactly 5 characters. It must be of type CHAR defined with a length of 5 or type VARCHAR defined with a length of 5 or greater. The sqlstate value must follow the rules for application-defined SQLSTATEs as follows:

If the SQLSTATE does not conform to these rules an error occurs (SQLSTATE 428B3).

diagnostic-string
An expression of type CHAR or VARCHAR that returns a character string of up to 70 bytes that describes the error condition. If the string is longer than 70 bytes, it will be truncated.

In order to use this function in a context where Rules for Result Data Types do not apply (such as alone in a select list), a cast specification must be used to give the null returned value a data type. A CASE expression is where the RAISE_ERROR function will be most useful.

Example:

List employee numbers and education levels as Post Graduate, Graduate and Diploma. If an education level is greater than 20, raise an error.

    SELECT EMPNO,
           CASE WHEN EDUCLVL < 16 THEN 'Diploma'
                WHEN EDUCLVL < 18 THEN 'Graduate'
                WHEN EDUCLVL < 21 THEN 'Post Graduate'
                ELSE RAISE_ERROR('70001',
                                 'EDUCLVL has a value greater than 20')
           END
         FROM EMPLOYEE


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]

[ DB2 List of Books | Search the DB2 Books ]