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
r...@rodonnell.ie



Reply via email to