The GOTO statement is used to branch to a user-defined label within an SQL routine.
Syntax
>>-GOTO--label-------------------------------------------------><
Description
If label is not defined within a scope that the GOTO statement can reach, an error is returned (SQLSTATE 42736).
Rules
Examples
In the following compound statement, the parameters rating and v_empno are passed into the procedure, which then returns the output parameter return_parm as a date duration. If the employee's time in service with the company is less than 6 months, the GOTO statement transfers control to the end of the procedure, and new_salary is left unchanged.
CREATE PROCEDURE adjust_salary (IN v_empno CHAR(6), IN rating INTEGER) OUT return_parm DECIMAL (8,2)) MODIFIES SQL DATA LANGUAGE SQL BEGIN DECLARE new_salary DECIMAL (9,2) DECLARE service DECIMAL (8,2) SELECT SALARY, CURRENT_DATE - HIREDATE INTO new_salary, service FROM EMPLOYEE WHERE EMPNO = v_empno IF service < 600 THEN GOTO EXIT END IF IF rating = 1 THEN SET new_salary = new_salary + (new_salary * .10) ELSE IF rating = 2 THEN SET new_salary = new_salary + (new_salary * .05) END IF UPDATE EMPLOYEE SET SALARY = new_salary WHERE EMPNO = v_empno EXIT: SET return_parm = service END