Re: Updating 457 rows in a table - Mailing list pgsql-general

From Ray O'Donnell
Subject Re: Updating 457 rows in a table
Date
Msg-id 4001d2f9-1a70-47e5-9f21-754a5d7497bf@rodonnell.ie
Whole thread Raw
In response to Updating 457 rows in a table  (Rich Shepard <rshepard@appl-ecosys.com>)
Responses Re: Updating 457 rows in a table
List 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




pgsql-general by date:

Previous
From: Christophe Pettus
Date:
Subject: Re: Updating 457 rows in a table
Next
From: Muhammad Ikram
Date:
Subject: Re: Updating 457 rows in a table