CHAPTER 6 Using Procedures and Batches

AS ThisValue

FROM customer

INNER JOIN sales_order

INNER JOIN sales_order_items

INNER JOIN product

GROUP BY ThisName

DO

IF ThisValue > TopValue THEN

SET TopCompany = ThisName;

SET TopValue = ThisValue;

END IF;

END FOR CompanyLoop;

END

Errors and warnings in procedures

After an application program executes a SQL statement, it can examine a return code. This return code indicates whether the statement executed successfully or failed and gives the reason for the failure. The same mechanism can be used to indicate the success or failure of a CALL statement to a procedure.

Error reporting uses either the SQLCODE or SQLSTATE status descriptions. Whenever a SQL statement is executed, a value is placed in special procedure variables called SQLSTATE and SQLCODE. That value indicates whether or not there were any unusual conditions encountered while the statement was being performed. You can check the value of SQLSTATE or SQLCODE in an IF statement following a SQL statement, and take actions depending on whether the statement succeeded or failed.

For example, the SQLSTATE variable can be used to indicate if a row is successfully fetched. The TopCustomerValue procedure presented in section “Using cursors on SELECT statements in procedures” used the SQLSTATE test to detect that all rows of a SELECT statement had been processed.

For full descriptions of SQLCODE and SQLSTATE error and warning values and their meanings, see “Database Error Messages” in Adaptive Server IQ Reference Manual.

255

Page 275
Image 275
Sybase 12.4.2 manual Errors and warnings in procedures, 255