HPlogo ALLBASE/SQL Reference Manual: HP 3000 MPE/iX Computer Systems > Chapter 10 SQL Statements

Labeled Statement

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

A Label identifies an SQL statement that can be referred to within the procedure.

Scope

Procedures only

SQL Syntax

Label: Statement

Parameters

Label

is an integer or a name which conforms to the SQL syntax rules for a basic name.

Statement

is the statement within a procedure to be labeled.

Description

  • A label may appear only at the start of a ProcedureStatement that is not part of a compound statement. It cannot appear with a local variable declaration or a WHENEVER directive.

  • Labels within a procedure should be unique.

  • A label can only be referred to from a GOTO statement and WHENEVER...GOTO directive.

Authorization

Anyone can use this statement.

Example

   CREATE PROCEDURE Process19 (param1 integer, param2 float) AS

   BEGIN

   DECLARE value1 integer;

   WHENEVER sqlerror GOTO errorexit;

   DECLARE cursor1 CURSOR FOR

     SELECT column1 

       FROM table1

      WHERE column1 > :param1;

   OPEN cursor1;

   WHILE ::sqlcode < > 100 do 

     FETCH cursor1 into :value1;

     IF ::sqlcode = 100 THEN

       GOTO loopexit;

     ENDIF;

     INSERT INTO table2 

          VALUES (:value1, :param2);

     UPDATE table3 SET column1 = CURRENT_DATE WHERE column2 = :value1;

     IF ::sqlerrd2 < 1 THEN

       INSERT INTO table3

            VALUES (CURRENT_DATE, :value1);

     ENDIF;

   ENDWHILE;

   loopexit:

   CLOSE cursor1;

   RETURN 0;

   errorexit:

   PRINT 'Procedure terminated due to error:';

   PRINT ::

   sqlcode;

   END;

   EXECUTE PROCEDURE Process19;
Feedback to webmaster