DEV Community

StuartCreed
StuartCreed

Posted on

How to return old data in same query as updating a table in postgres

WITH
    "old_data" AS (
        SELECT
            "id",
            "colour"
        FROM
            "random_table"
        WHERE
            "random_table"."id" IN (643)
    )
UPDATE "random_table" AS "ti"
SET
    "colour" = 'blue'
FROM
    "old_data" AS "od"
WHERE
    "ti"."id" = "od"."id"
RETURNING
    "ti"."id",
    "ti"."status",
    "od"."status" AS "old_status"
Enter fullscreen mode Exit fullscreen mode

Top comments (0)