I need your help with PostgreSQL. I have a homework in which I have to update a column of a table and display all the information that has been updated, but I have to use a single command to do all that. Even worse, I just can use basic clauses like SELECT, UPDATE, SET, WHERE etc.
Is this possible? I didn't find any example.
I've tried several combinations like:
SELECT * FROM customer
(UPDATE custumer SET bithdate = bithdate + INTERVAL '1 DAY'
WHERE bithcity = 'New York');
This didn't work!
Since this is homework, I'll leave something for you.
Single SQL statement
Start reading about the RETURNING
clause of the UPDATE
command in the manual.
Another alternative (for more complex scenarios) would be a data-modifying CTE. You still need the RETURNING
clause for that.
Or you could create a function you can call in a single statement, but that would violate your requirement of only using simple DML commands.
Single transaction
If more than a single statement is allowed, another option would be a simple UPDATE
plus simple SELECT
wrapped into a transaction.