question about visibilty while updating multiple rows .

From: Rajesh Kumar Mallah <mallah(at)trade-india(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: question about visibilty while updating multiple rows .
Date: 2003-04-09 07:17:59
Message-ID: 200304091247.59378.mallah@trade-india.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi,

If an update statement is affecting multiple rows of a table X ,
Does a subselect (selecting from X only) inside EXISTS part of outer query
able to see the changes when rows are being updated one by one by outer query?

for example consider following set of data rows:

+------------+-----------------------+------+----------+----------------------------------+
| profile_id | co_name | size | deletion | md5 |
+------------+-----------------------+------+----------+----------------------------------+
| 212161 | ATITH FIBRE PVT. LTD. | FL | t | edc462794427724b7d132e3b1387d69f |
| 212159 | ATITH FIBRE PVT. LTD. | 1HS | f | edc462794427724b7d132e3b1387d69f |
| 216225 | ATITH FIBRE PVT. LTD. | 1HS | f | edc462794427724b7d132e3b1387d69f |
| 216226 | ATITH FIBRE PVT. LTD. | 1HS | f | edc462794427724b7d132e3b1387d69f |
+------------+-----------------------+------+----------+----------------------------------+

begin work;

UPDATE eyp_profiles_table SET

deletion=true

WHERE

co_name='ATITH FIBRE PVT. LTD.' AND
deletion is false and

EXISTS (select * from eyp_profiles_table a where a.md5=eyp_profiles_table.md5 and
a.deletion is false and a.profile_id <> eyp_profiles_table.profile_id) ;

my original problem is to update in such a way that i get below finally (observer the deletion column)
+------------+-----------------------+------+----------+----------------------------------+
| profile_id | co_name | size | deletion | md5 |
+------------+-----------------------+------+----------+----------------------------------+
| 212161 | ATITH FIBRE PVT. LTD. | FL | t | edc462794427724b7d132e3b1387d69f |
| 212159 | ATITH FIBRE PVT. LTD. | 1HS | t | edc462794427724b7d132e3b1387d69f |
| 216225 | ATITH FIBRE PVT. LTD. | 1HS | t | edc462794427724b7d132e3b1387d69f |
| 216226 | ATITH FIBRE PVT. LTD. | 1HS | f | edc462794427724b7d132e3b1387d69f |
+------------+-----------------------+------+----------+----------------------------------+
so that only one entry per md5 record exists.

Regds
mallah.

--
Rajesh Kumar Mallah,
Project Manager (Development)
Infocom Network Limited, New Delhi
phone: +91(11)6152172 (221) (L) ,9811255597 (M)

Visit http://www.trade-india.com ,
India's Leading B2B eMarketplace.

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Rajesh Kumar Mallah 2003-04-09 10:21:02 Getting NEW and OLD in ordinary functions.
Previous Message Denis @ Next2Me 2003-04-09 05:54:46 Re: [GENERAL] Yet Another (Simple) Case of Index not used