Bird
0
0

You want to create a function that returns both the count of rows and the maximum value from a table using OUT parameters. Which function definition is correct?

hard📝 Application Q8 of 15
PostgreSQL - Advanced PL/pgSQL
You want to create a function that returns both the count of rows and the maximum value from a table using OUT parameters. Which function definition is correct?
ACREATE FUNCTION stats(OUT row_count INT, OUT max_val INT) AS $$ BEGIN SELECT COUNT(*), MAX(value) INTO row_count, max_val FROM my_table; END; $$ LANGUAGE plpgsql;
BCREATE FUNCTION stats() RETURNS TABLE(row_count INT, max_val INT) AS $$ BEGIN SELECT COUNT(*), MAX(value) FROM my_table; END; $$ LANGUAGE plpgsql;
CCREATE FUNCTION stats(OUT row_count INT, OUT max_val INT) RETURNS VOID AS $$ BEGIN SELECT COUNT(*), MAX(value) INTO row_count, max_val FROM my_table; END; $$ LANGUAGE plpgsql;
DCREATE FUNCTION stats(row_count INT OUT, max_val INT OUT) RETURNS RECORD AS $$ BEGIN SELECT COUNT(*), MAX(value) INTO row_count, max_val FROM my_table; END; $$ LANGUAGE plpgsql;
Step-by-Step Solution
Solution:
  1. Step 1: Check OUT parameter declaration

    OUT parameters are declared as 'OUT name type' before RETURNS clause.
  2. Step 2: Verify SELECT INTO usage

    SELECT ... INTO assigns query results to OUT parameters inside the function body.
  3. Step 3: Confirm RETURNS clause

    Functions with OUT parameters can omit RETURNS or specify matching type; VOID is incorrect here.
  4. Final Answer:

    CREATE FUNCTION stats(OUT row_count INT, OUT max_val INT) AS $$ BEGIN SELECT COUNT(*), MAX(value) INTO row_count, max_val FROM my_table; END; $$ LANGUAGE plpgsql; -> Option A
  5. Quick Check:

    OUT params + SELECT INTO = correct function [OK]
Quick Trick: Use SELECT INTO to assign OUT parameters inside function [OK]
Common Mistakes:
  • Misplacing OUT keyword
  • Using RETURNS VOID with OUT parameters
  • Omitting SELECT INTO for OUT parameters

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More PostgreSQL Quizzes