RETURN [ ALLBASE/SQL Reference Manual ] MPE/iX 5.5 Documentation
ALLBASE/SQL Reference Manual
RETURN
The RETURN statement permits you to exit from a procedure with an
optional return code.
Scope
Procedures only
SQL Syntax
RETURN [ReturnStatus];
Parameters
ReturnStatus is an integer value that is returned to the
caller. The syntax is:
{INTEGER }
{:LocalVariable }
{:ProcedureParameter}
{::Built-inVariable }
Description
* The RETURN statement causes the execution of the procedure to halt
and causes control to return to the invoking user, application
program, or rule. When it returns to a rule, the value of
ReturnStatus is ignored.
* The RETURN statement is optional within a procedure.
* If the procedure terminates without executing a RETURN statement,
the ReturnStatus will be 0.
* You can only access ReturnStatus from an application program.
Call the procedure from the program using an integer host variable
for ReturnStatusVariable if you wish to test the ReturnStatus.
Example
CREATE PROCEDURE Process10 (PartName CHAR(20) NOT NULL,
Quantity INTEGER NOT NULL) AS
BEGIN
INSERT INTO SmallOrders VALUES (:PartName, :Quantity);
IF ::sqlcode <> 0 THEN
GOTO Errors;
ENDIF;
RETURN 0;
Errors: PRINT 'There were errors.';
RETURN 1;
END
Call the procedure using a ReturnStatusVariable named Status:
EXECUTE PROCEDURE :Status = Process10 ('Widget', 10)
On returning from the procedure, test SQLCODE and Status both to
determine whether an error occurred inside the procedure.
if(sqlca.sqlcode==0)
if(Status!=0) do {
EXEC SQL SQLEXPLAIN :SQLMessage;
printf("%s\n",SQLMessage);
} while (sqlwarn[0]=='W');
MPE/iX 5.5 Documentation