Skip to content

Instantly share code, notes, and snippets.

@vocolboy
Last active January 3, 2018 10:20
Show Gist options
  • Save vocolboy/c48e87c1cdc7266a3991a718ea5e97af to your computer and use it in GitHub Desktop.
Save vocolboy/c48e87c1cdc7266a3991a718ea5e97af to your computer and use it in GitHub Desktop.
Update multiple records
  1. sqlfiddle - use case
UPDATE videos
SET views = CASE "id" 
                WHEN '13d2b117-15d7-4168-a545-a202206f149a' THEN 1 
                WHEN 'a8cf98c6-0413-4306-aabd-058db68097f9' THEN 2 
            END
WHERE "id" IN('13d2b117-15d7-4168-a545-a202206f149a', 'a8cf98c6-0413-4306-aabd-058db68097f9')
  1. sqlfiddle - create temp table
CREATE TEMP TABLE query_views
(
  id uuid,
  views integer
);

INSERT INTO query_views (id,views) VALUES ('ef3c74ec-c1d1-4ed1-b863-f14972ff45d6',2);
INSERT INTO query_views (id,views) VALUES ('3a6944fa-7caa-46d5-b3f4-61625b0f27f6',3);

UPDATE videos
SET views = query_views.views
from query_views
where videos.id = query_views.id;

select * from videos;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment