Any Number of Data Rows Returned

From InterBase
Jump to: navigation, search

Go Up to EXECUTE STATEMENT


FOR EXECUTE STATEMENT <select-statement> INTO :<var> [, :<var> ..]

DO <compound-statement>
Argument Description

<select-statement>

SQL statement returning one or zero rows of data.

<var>

Valid procedure variable. The : is optional.

Example:

CREATE PROCEDURE EXEC_STMT_ANY (TABLE_NAME VARCHAR(50), INT_FIELD INTEGER)
 RETURNS
 (INT_RETVAR INTEGER)
 AS
 DECLARE VARIABLE IFIELD INTEGER;
 BEGIN
  FOR EXECUTE STATEMENT
  'SELECT ' || INT_FIELD || ' FROM ' || TABLE_NAME INTO :IFIELD
  DO
    IF (IFIELD = 0) THEN
      INT_RETVAR = 0;
    ELSE
      INT_RETVAR = INT_RETVAR + IFIELD;
  SUSPEND;           
  END