niXforums Forum Index
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   PreferencesPreferences   Log in to check your private messagesLog in to check your private messages   Log inLog in 
·  nixdoc.net ·  man pages ·  Linux HOWTOs ·  FreeBSD Tips ·  Forums
navigation Forum index » Databases » IBM DB2
Update Syntax SQL
Post new topic   Reply to topic Page 1 of 1 [3 Posts] View previous topic :: View next topic
Author Message
WU
*nix forums beginner


Joined: 18 Jul 2006
Posts: 2

PostPosted: Tue Jul 18, 2006 11:51 am    Post subject: Update Syntax SQL Reply with quote

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!
Back to top
Serge Rielau
*nix forums Guru


Joined: 29 Apr 2005
Posts: 1583

PostPosted: Tue Jul 18, 2006 1:31 pm    Post subject: Re: Update Syntax SQL Reply with quote

WU wrote:
Quote:
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!

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

--
Serge Rielau
DB2 Solutions Development
IBM Toronto Lab

IOD Conference
http://www.ibm.com/software/data/ondemandbusiness/conf2006/
Back to top
WU
*nix forums beginner


Joined: 18 Jul 2006
Posts: 2

PostPosted: Tue Jul 18, 2006 2:28 pm    Post subject: Re: Update Syntax SQL Reply with quote

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:

Quote:
WU wrote:
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!

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

--
Serge Rielau
DB2 Solutions Development
IBM Toronto Lab

IOD Conference
http://www.ibm.com/software/data/ondemandbusiness/conf2006/
Back to top
Google

Back to top
Display posts from previous:   
Post new topic   Reply to topic Page 1 of 1 [3 Posts] View previous topic :: View next topic
The time now is Mon Dec 01, 2008 10:02 pm | All times are GMT
navigation Forum index » Databases » IBM DB2
Jump to:  

Similar Topics
Topic Author Forum Replies Last Post
No new posts C# MSSQL2000 update pln C 5 Fri Jul 21, 2006 7:41 am
No new posts HPSBMA02133 SSRT061201 rev.1 - HP Oracle for OpenView (Of... Security Alert HP-UX 0 Thu Jul 20, 2006 6:43 pm
No new posts HPSBMA02133 SSRT061201 rev.1 - HP Oracle for OpenView (Of... Security Alert HP-UX 0 Thu Jul 20, 2006 5:53 pm
No new posts Invalid syntax with STD() function when more than one fie... William Bronsema MySQL 1 Thu Jul 20, 2006 2:18 pm
No new posts Problem w/ Yast2, can't install new software or update Emmanuel Durand Suse 0 Thu Jul 20, 2006 5:50 am

Loan | Share Prices | Loans | Internet Advertising | Property Search
Copyright © 2004-2005 DeniX Solutions SRL
 
Other DeniX Solutions sites: Unix/Linux blog |  electronics forum |  medicine forum |  science forum | 
Privacy Policy


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.2406s ][ Queries: 16 (0.1380s) ][ GZIP on - Debug on ]