Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
Database Servers
DB2InformixIngresMS SQLOraclePervasive.SQLPostgreSQLProgressSybase
Desktop Databases
FileMakerFoxProMS AccessParadox
General
General DB TopicsDatabase Theory
Related Topics
Java Development.NET DevelopmentVB DevelopmentMore Topics ...

Database Forum / DB2 Topics / July 2006

Tip: Looking for answers? Try searching our database.

Update Syntax SQL

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
WU - 18 Jul 2006 12:51 GMT
Hallo,

mir ist die Update Syntax im SQL bekannt aber für das was ich möchte,
reicht mein wissen leider nicht aus.

Habe 2 Tabellen mit folgenden Feldern
1. Tabelle: LaufendeNr, Datum
2. Tabelle: LaufendeNr, Erledigungen

Jetzt möchte ich das Feld Erledigungen aktualisieren mit Update, aber
nur diese Datensätze, die zwischen einem bestimmten Datum sind (Feld
Datum von Tabelle 1).

Syntax:

update kisdata.bespf020
set kisdata.bespf020.be2erl='X'
from kisdata.bespf020

INNER JOIN kisdata.bespf010
on kisdata.bespf010.be1ben=kisdata.bespf020.be2ben
where kisdata.bespf010.BE1FIR = 1
and kisdata.bespf020.BE2FIR = 1
and kisdata.bespf020.be2erl not like 'X'
and kisdata.bespf020.be2ben = 7103445

Es kommt die Meldung: Schlüsselwort from nicht erwartet!
Serge Rielau - 18 Jul 2006 14:31 GMT
> Hallo,
>
[quoted text clipped - 23 lines]
>
> Es kommt die Meldung: Schlüsselwort from nicht erwartet!

Welche DB2 platform/version?
Fuer DB2 V8.1.2 fuer LUW und hoeher ist MERGE am einfachsten:
MERGE INTO T USING S ON T.pk = S.pk
WHEN MATCHED THEN UPDATE SET (T.c1, ...,T.cn) = (S.c1, ..., S.cn)

Fuer alles andere:
UPDATE T SET (T.c1, ...,T.cn)
             = (SELECT S.c1, ..., S.cn
                  FROM S WHERE T.pk = S.pk)
WHERE EXISTS(SELECT 1 FROM S WHERE T.pk = S.pk)

Gruss
Serge

PS: Da diese newgroup international ist, ist es ratsam auf English zu
schreiben, Mehr Publikum ~ Mehr/Bessere/Schnellere Antworten

Signature

Serge Rielau
DB2 Solutions Development
IBM Toronto Lab

IOD Conference
http://www.ibm.com/software/data/ondemandbusiness/conf2006/

wuwu - 18 Jul 2006 15:28 GMT
Hallo,

der Syntax der funktioniert, GOTT SEI DANK!!!

update kisdata.bespf020
set kisdata.bespf020.be2erl = 'X'
where kisdata.bespf020.be2ben in(
       select be1ben
       from kisdata.bespf010
       where be1dat between 20030101 and 20041231)
and be2erl not like 'X'

Danke & MFG Horst

Serge Rielau schrieb:

> > Hallo,
> >
[quoted text clipped - 48 lines]
> IOD Conference
> http://www.ibm.com/software/data/ondemandbusiness/conf2006/
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.