From: | Ray O'Donnell <ray(at)rodonnell(dot)ie> |
---|---|
To: | Rich Shepard <rshepard(at)appl-ecosys(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: Updating 457 rows in a table |
Date: | 2024-05-19 16:57:41 |
Message-ID: | 4001d2f9-1a70-47e5-9f21-754a5d7497bf@rodonnell.ie |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
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(at)rodonnell(dot)ie
From | Date | Subject | |
---|---|---|---|
Next Message | Muhammad Ikram | 2024-05-19 17:06:04 | Re: Updating 457 rows in a table |
Previous Message | Christophe Pettus | 2024-05-19 16:56:50 | Re: Updating 457 rows in a table |