7.6.12. FOR EXECUTE STATEMENT
Used for
Executing dynamically created SQL statements that return a row set
Available in
PSQL
Syntax
FOR <execute_statement> DO <compound_statement>
Argument | Description |
---|---|
execute_stmt | An |
single_statement | A single statement, terminated with a colon, that performs all the processing for this |
compound_statement | A block of statements wrapped in |
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:
CREATE PROCEDURE DynamicSampleThree (
Q_FIELD_NAME VARCHAR(100),
Q_TABLE_NAME VARCHAR(100)
) RETURNS(
LINE VARCHAR(32000)
)
AS
DECLARE VARIABLE P_ONE_LINE VARCHAR(100);
BEGIN
LINE = '';
FOR
EXECUTE STATEMENT
'SELECT T1.' || :Q_FIELD_NAME ||
' FROM ' || :Q_TABLE_NAME || ' T1 '
INTO :P_ONE_LINE
DO
IF (:P_ONE_LINE IS NOT NULL) THEN
LINE = :LINE || :P_ONE_LINE || ' ';
SUSPEND;
END
See also