Re: sql-porting-problem oracle to postgresql with UPDATE/IS NOT NULL - Mailing list pgsql-sql

From Daryl Richter
Subject Re: sql-porting-problem oracle to postgresql with UPDATE/IS NOT NULL
Date
Msg-id 215A7F0B-D033-4C12-B80E-4A4E4613FD41@comcast.net
Whole thread Raw
In response to sql-porting-problem oracle to postgresql with UPDATE/IS NOT NULL  ("Gau, Hans-Jürgen"<Hans-Juergen.Gau@LGN.Niedersachsen.de>)
Responses Re: sql-porting-problem oracle to postgresql with UPDATE/IS NOT NULL
List pgsql-sql
On Jul 28, 2009, at 5:58 AM, Gau, Hans-Jürgen wrote:

> hello list,
> i have some problems with an sql-statement which runs on oracle but
> not on postgresql (i want update only if result of SELECT is not
> empty, the SELECT-queries are identical):
>
> UPDATE table1 t1
>         SET (t1.id) =
>                 (SELECT h.id FROM table2 t2,table3 t3, table1 t1
>                 WHERE t3.field = t2.field
>                         AND t2.id = t1.id
>                         AND t1.id <> t3.id)
>         WHERE
>                 (SELECT h.id FROM table2 t2,table3 t3, table1 t1
>                         WHERE t3.field = t2.field
>                                 AND t2.id = t1.id
>                                 AND t1.id <> t3.id) IS NOT NULL;
>
Try this:

UPDATE table1 t1        SET (t1.id) =                (SELECT h.id FROM table2 t2,table3 t3, table1 t1
WHEREt3.field = t2.field                        AND t2.id = t1.id                        AND t1.id <> t3.id)
WHERE           EXISTS (SELECT 1 FROM table2 t2,table3 t3, table1 t1                        WHERE t3.field = t2.field
                            AND t2.id = t1.id                                AND t1.id <> t3.id 
            AND h.id IS NOT NULL);



>
>
> thanks, hans
>
>

--
Daryl
http://itsallsemantics.com

""Everyone thinks of changing the world, but no one thinks of changing
himself."
- Leo Tolstoy



pgsql-sql by date:

Previous
From: "Gau, Hans-Jürgen"
Date:
Subject: sql-porting-problem oracle to postgresql with UPDATE/IS NOT NULL
Next
From: Akos Gabriel
Date:
Subject: Detect referential integrity structure