7.6.12. FOR EXECUTE STATEMENT

Used for

Executing dynamically created SQL statements that return a row set

Available in

PSQL

Syntax

  1. FOR <execute_statement> DO <compound_statement>
Table 89. FOR EXECUTE STATEMENT Statement Parameters
ArgumentDescription

execute_stmt

An EXECUTE STATEMENT statement

single_statement

A single statement, terminated with a colon, that performs all the processing for this FOR loop

compound_statement

A block of statements wrapped in BEGIN…​END, that performs all the processing for this FOR loop

The statement FOR EXECUTE STATEMENT is used, in a manner analogous to FOR SELECT, to loop through the result set of a dynamically executed query that returns multiple rows.

Example

Executing a dynamically constructed SELECT query that returns a data set:

  1. CREATE PROCEDURE DynamicSampleThree (
  2. Q_FIELD_NAME VARCHAR(100),
  3. Q_TABLE_NAME VARCHAR(100)
  4. ) RETURNS(
  5. LINE VARCHAR(32000)
  6. )
  7. AS
  8. DECLARE VARIABLE P_ONE_LINE VARCHAR(100);
  9. BEGIN
  10. LINE = '';
  11. FOR
  12. EXECUTE STATEMENT
  13. 'SELECT T1.' || :Q_FIELD_NAME ||
  14. ' FROM ' || :Q_TABLE_NAME || ' T1 '
  15. INTO :P_ONE_LINE
  16. DO
  17. IF (:P_ONE_LINE IS NOT NULL) THEN
  18. LINE = :LINE || :P_ONE_LINE || ' ';
  19. SUSPEND;
  20. END

See also

EXECUTE STATEMENT