Sybase 12.4.2 manual Default handling of warnings in procedures, 260

Models: 12.4.2

1 536
Download 536 pages 20.34 Kb
Page 280
Image 280

Errors and warnings in procedures

Default handling of warnings in procedures

Warnings are handled differently from errors. While the default action for errors is to set a value for the SQLSTATE and SQLCODE variables, and return control to the calling environment, the default action for warnings is to set the SQLSTATE and SQLCODE values and continue execution of the procedure.

Drop the procedures Remember to drop both the InnerProc and OuterProc procedures before continuing with the tutorial. You can do this by entering the following commands in the command window:

DROP PROCEDURE OUTERPROC;

DROP PROCEDURE INNERPROC

The following demonstration procedures illustrate default handling of warnings. These demonstration procedures are based on those used in “Default error handling in procedures” on page 256. In this case, the SIGNAL statement generates a row not found condition, which is a warning rather than an error.

CREATE PROCEDURE OuterProc()

BEGIN

MESSAGE ’Hello from OuterProc.’;

CALL InnerProc();

MESSAGE ’SQLSTATE set to ’,

SQLSTATE,’ in OuterProc.’;

END

CREATE PROCEDURE InnerProc()

BEGIN

DECLARE row_not_found

EXCEPTION FOR SQLSTATE ’02000’;

MESSAGE ’Hello from InnerProc.’;

SIGNAL row_not_found;

MESSAGE ’SQLSTATE set to ’,

SQLSTATE, ’ in InnerProc.’;

END

The following statement executes the OuterProc procedure:

CALL OuterProc();

The message window of the server then displays the following:

Hello from OuterProc.

Hello from InnerProc.

SQLSTATE set to 02000 in InnerProc.

SQLSTATE set to 02000 in OuterProc.

260

Page 280
Image 280
Sybase 12.4.2 manual Default handling of warnings in procedures, 260