I need to assign values to 2 variable as below in Postgres function.

a := select col1 from tbl where ...
b := select col2 from tbl where ...

How can I assign 2 values to 2 variables in one line command?


a,b := select col1,col2 from tbl where ...

1 Answer 1


As said in "40.5.3. Executing a Query with a Single-row Result" (emphasis mine):

The result of a SQL command yielding a single row (possibly of multiple columns) can be assigned to a record variable, row-type variable, or list of scalar variables. This is done by writing the base SQL command and adding an INTO clause.

So this should work:

SELECT col1, col2 INTO a, b FROM tbl WHERE...;

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.