Eftersom det här är läxor lämnar jag något åt dig.
Enskild SQL-sats
Börja läsa om RETURNING
klausul i UPDATE
kommandot i manualen
.
Ett annat alternativ (för mer komplexa scenarier) skulle vara en datamodifierande CTE
. Du behöver fortfarande RETURNING
klausul för det.
Eller så kan du skapa en funktion du kan ringa in ett enda uttalande, men det skulle bryta mot ditt krav på att endast använda enkla DML-kommandon.
Enstaka transaktion
Om mer än en enskild sats är tillåten skulle ett annat alternativ vara en enkel UPDATE
plus enkel SELECT
insvept i en transaktion
.