Re: Updating 457 rows in a table
Ray O'Donnell <ray@rodonnell.ie>
From: Ray O'Donnell <ray@rodonnell.ie>
To: Rich Shepard <rshepard@appl-ecosys.com>,
pgsql-general@lists.postgresql.org
Date: 2024-05-19T16:57:41Z
Lists: pgsql-general
On 19/05/2024 17:54, Rich Shepard wrote: > Searching the postgresql doc for UPDATE the examples I find show updating > one or a few rows in a table. I have 457 rows to update in a table. > > I could write a .sql script with 457 lines, each updating one row of the > table. My web search for `sql: update table rows from a file of column > values' finds pages for single row updates and updating a table from > another > table, but neither is what I want. > > I want to change a column value in a table based on the value of a > different > column in that same table. > > Specifically, in the 'people' table I want to change the column 'active' > from false to true for 457 specific person_id row numbers. > > Is there a way to do this without manually writing 457 'update ...' > rows in > a .sql file? Could you create a table with just person_id values whose rows are to be updated? Then you could do something like this: update people set active = true where exists ( select 1 from temporary_table where person_id = people.person_id ); That's just off the top of my head and might not be correct, but that's the way I'd be thinking. Ray. -- Raymond O'Donnell // Galway // Ireland ray@rodonnell.ie