"We are back" « oc.at

[SQL] Verbinden mehrerer UPDATE-Statements

JC 03.05.2002 - 10:41 3454 9
Posts

JC

Vereinsmitglied
Disruptor
Avatar
Registered: Feb 2001
Location: Katratzi
Posts: 9066
Code:
"UPDATE pflidataTMP SET hat_eq_T = 'x' WHERE hat_eq = -1"
"UPDATE pflidataTMP SET hat_ev_T = 'x' WHERE hat_ev = -1"
usw...
Kann ich das nicht irgendwie zu einem einzigen Statement zusammenfassen?

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
"UPDATE pflidataTMP SET hat_eq_T = 'x',hat_ev_T = 'x' WHERE hat_eq = -1"

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
Zitat von Ringding
"UPDATE pflidataTMP SET hat_eq_T = 'x',hat_ev_T = 'x' WHERE hat_eq = -1"

nope. für zwei unterschiedliche where clauseln funkt das zusammenfassen net.

JC

Vereinsmitglied
Disruptor
Avatar
Registered: Feb 2001
Location: Katratzi
Posts: 9066
Zitat von Ringding
"UPDATE pflidataTMP SET hat_eq_T = 'x',hat_ev_T = 'x' WHERE hat_eq = -1"
Thx, darauf bin ich auch gekommen, aber das Problem ist, dass hat_eq nicht immer gleich hat_ev ist, sprich, er updatet mir dann auch bei den hat_ev nur die felder, die bei hat_eq ein -1 stehen haben...

JC

Vereinsmitglied
Disruptor
Avatar
Registered: Feb 2001
Location: Katratzi
Posts: 9066
Zitat von rettich
nope. für zwei unterschiedliche where clauseln funkt das zusammenfassen net.
Ah, das wollte ich wissen, thx :)

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
dsie 2 statements kannst nicht zusammenlegen

weil sie verschiedene sachen in verschiedenen faellen machen

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Oops, sorry. Hab ich übersehen.

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
du kannst es per (sprache drueber - zb.) php in eine schleife hauen
wenn alle updates so gleich sind
dann hast zumindest weniger code

JC

Vereinsmitglied
Disruptor
Avatar
Registered: Feb 2001
Location: Katratzi
Posts: 9066
Zitat von funka
du kannst es per (sprache drueber - zb.) php in eine schleife hauen
wenn alle updates so gleich sind
dann hast zumindest weniger code

Code:
    For intCounter = 1 To 8
        Select Case intCounter
            Case 1
                sql = "INSERT INTO pflidataTMP SELECT * FROM pflidata;"
            Case 2
                sql = "UPDATE pflidataTMP SET hat_eq_T = 'x' WHERE hat_eq = -1;"
            Case 3
                sql = "UPDATE pflidataTMP SET hat_ev_T = 'x' WHERE hat_ev = -1;"
            Case 4
                sql = "UPDATE pflidataTMP SET hat_kv_T = 'x' WHERE hat_kv = -1;"
            Case 5
                sql = "UPDATE pflidataTMP SET hat_u_T = 'x' WHERE hat_u = -1;"
            Case 6
                sql = "UPDATE pflidataTMP SET hat_gw_T = 'x' WHERE hat_gw = -1;"
            Case 7
                sql = "UPDATE pflidataTMP SET hat_al_T = 'x' WHERE hat_al = -1;"
            Case 8
                sql = "UPDATE pflidataTMP, Rechtsf SET pflidataTMP.Rechtsform_T = [Rechtsf].[Rechtsform] WHERE (((pflidataTMP.rechtsform)=[Rechtsf].[Code]));"
        End Select
        db.Execute sql
    Next
    db.Close
    Set db = Nothing
hab's so gelöst :)
funzt einwandfrei

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
So war's aber nicht gemeint. Das ist ja keine Schleife im eigentlichen Sinn, weil sie bei jedem Durchlauf was komplett anderes macht. Da könntest du's ja gleich hintereinander schreiben.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz