SQL mehrere Updates

  • SQL

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Bladehunt0.

    SQL mehrere Updates

    Hallo zusammen

    Ich bin schon ganz verzweifelt. ;( Ich habe so ziemlich alles nach einer Lösung durchsucht, komme aber auf keinen grünen Zweig. Und zwar habe ich folgendes Problem:
    Ich habe eine MySQL Server Compact 3.5 Datenbank in VB per Script mit Daten aus ner Excel Tabelle gefüttert, so weit so gut. Nun hat es mir natürlich an Stelle von leeren Zellen, "NULL" eingefügt, ist ja soweit auch normal. Nun möchte ich aber alle NULL Einträge durch "nichts" oder 0 (was halt geht) ersetzen. Dass es dafür für alle Spalten und Zeilen gleichzeitig keine Pauschallösung gibt, habe ich mittlerweile rausgefunden. Dann habe ich mir die Mühe gemacht, alle Spalten einzeln auf zu schreiben und mit einem SET Befehl zu versehen. Leider funktioniert keine Variante, also weder:

    SQL-Abfrage

    1. UPDATE Datenbank
    2. SET feld1 ='' WHERE feld1 IS NULL
    3. SET feld2 ='' WHERE feld2 IS NULL

    Noch:

    SQL-Abfrage

    1. UPDATE Datenbank
    2. SET feld1 ='' , feld2 = '' WHERE feld1 IS NULL , feld2 IS NULL

    Auch das nicht:

    SQL-Abfrage

    1. UPDATE Datenkbank SET feld1 = '' WHERE feld1 IS NULL
    2. UPDATE Datenbank SET feld2 ='' WHERE feld2 IS NULL

    Ich weiss nicht, was ich noch versuchen soll.
    Dazu muss ich sagen, dass ich es über den Datenbank Editor im VB mache, nicht über einen VB Code, da das ja eigentlich eine einmalige Sache ist...
    Kann wer helfen?

    Danke :thumbsup:

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Du kannst nicht für jedes Feld eine eigene Where-Bedingung machen. Nur eine für alle. Ansonsten müsstest du mehrere Update-Befehle losschicken.

    So wäre eine Möglichkeit (eine Where-Bed. für alle SET-Befehle):

    SQL-Abfrage

    1. UPDATE Datenbank
    2. SET feld1 ='' , feld2 =''
    3. WHERE feld1 IS NULL and feld2 IS NULL


    Ich denke aber, das ist nicht das, was du willst. Du kommst also um das hier nicht herum:

    SQL-Abfrage

    1. UPDATE Datenbank SET feld1 = '' WHERE feld1 IS NULL;
    2. UPDATE Datenbank SET feld2 ='' WHERE feld2 IS NULL;


    Was für ein Fehler kommt denn, weil du sagst, das geht bei dir nicht?
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Morgen

    Also mein Code sieht folgendermassen aus:

    SQL-Abfrage

    1. UPDATE WartungsDB SET Untergruppe ='' WHERE Untergruppe IS NULL;
    2. UPDATE WartungsDB SET Standort ='' WHERE Standort IS NULL;
    3. UPDATE WartungsDB SET Anlage ='' WHERE Anlage IS NULL;
    4. UPDATE WartungsDB SET Typ ='' WHERE Typ IS NULL;
    5. UPDATE WartungsDB SET Batterien ='' WHERE Batterien IS NULL;
    6. UPDATE WartungsDB SET Batterieseriennummer ='' WHERE Batterieseriennummer IS NULL;
    7. UPDATE WartungsDB SET Seriennummer ='' WHERE Seriennummer IS NULL;
    8. UPDATE WartungsDB SET IBS ='' WHERE IBS IS NULL;
    9. UPDATE WartungsDB SET ErsBatterien ='' WHERE ErsBatterien IS NULL;
    10. UPDATE WartungsDB SET ErsACKond ='' WHERE ErsACKond IS NULL;
    11. UPDATE WartungsDB SET ErsDCKond ='' WHERE ErsDCKond IS NULL;
    12. UPDATE WartungsDB SET ErsLueft ='' WHERE ErsLueft IS NULL;
    13. UPDATE WartungsDB SET VertrNr ='' WHERE VertrNr IS NULL;
    14. UPDATE WartungsDB SET VertrAbsch ='' WHERE VertrAbsch IS NULL;
    15. UPDATE WartungsDB SET VertrPreis ='' WHERE VertrPreis IS NULL;
    16. UPDATE WartungsDB SET DatWartVorj ='' WHERE DatWartVorj IS NULL;
    17. UPDATE WartungsDB SET DatWartAkt ='' WHERE DatWartAkt IS NULL;
    18. UPDATE WartungsDB SET INenn ='' WHERE INenn IS NULL;
    19. UPDATE WartungsDB SET MWBattZ ='' WHERE MWBattZ IS NULL;
    20. UPDATE WartungsDB SET MWUSVGRU ='' WHERE MWUSVGRU IS NULL;
    21. UPDATE WartungsDB SET MWUSVGRf ='' WHERE MWUSVGRf IS NULL;
    22. UPDATE WartungsDB SET MWUSVBPU ='' WHERE MWUSVBPU IS NULL;
    23. UPDATE WartungsDB SET MWUSVBPf ='' WHERE MWUSVBPf IS NULL;
    24. UPDATE WartungsDB SET MWUSVWRU ='' WHERE MWUSVWRU IS NULL;
    25. UPDATE WartungsDB SET MWUSVWRf ='' WHERE MWUSVWRf IS NULL;
    26. UPDATE WartungsDB SET MWS ='' WHERE IS MWS NULL;
    27. UPDATE WartungsDB SET MWProz ='' WHERE MWProz IS NULL;
    28. UPDATE WartungsDB SET MWIaus ='' WHERE MWIaus IS NULL;
    29. UPDATE WartungsDB SET MWBattU ='' WHERE MWBattU IS NULL;
    30. UPDATE WartungsDB SET IBattMax ='' WHERE IBattMax IS NULL;
    31. UPDATE WartungsDB SET MWUSVBattProz ='' WHERE MWUSVBattProz IS NULL;
    32. UPDATE WartungsDB SET MWBattT ='' WHERE MWBattT IS NULL;
    33. UPDATE WartungsDB SET Strasse ='' WHERE Strasse IS NULL;
    34. UPDATE WartungsDB SET PLZ ='' WHERE PLZ IS NULL;
    35. UPDATE WartungsDB SET Ort ='' WHERE Ort IS NULL;
    36. UPDATE WartungsDB SET BattZ ='' WHERE BattZ IS NULL;
    37. UPDATE WartungsDB SET BattStr ='' WHERE BattStr IS NULL;
    38. UPDATE WartungsDB SET KundName ='' WHERE KundName IS NULL;
    39. UPDATE WartungsDB SET KundVorname ='' WHERE KundVorname IS NULL;
    40. UPDATE WartungsDB SET KundW ='' WHERE KundW IS NULL;
    41. UPDATE WartungsDB SET KundTel ='' WHERE KundTel IS NULL;
    42. UPDATE WartungsDB SET KundMob ='' WHERE KundMob IS NULL;
    43. UPDATE WartungsDB SET WartMonat ='' WHERE WartMonat IS NULL;
    44. UPDATE WartungsDB SET AusgefDurch ='' WHERE AusgefDurch IS NULL;
    45. UPDATE WartungsDB SET Erledigt ='' WHERE Erledigt IS NULL;
    46. UPDATE WartungsDB SET VertrTyp ='' WHERE VertrTyp IS NULL;
    47. UPDATE WartungsDB SET ZuErs ='' WHERE ZuErs IS NULL;
    48. UPDATE WartungsDB SET Bemerkung ='' WHERE Bemerkung IS NULL;
    49. UPDATE WartungsDB SET RechFa ='' WHERE RechFa IS NULL;
    50. UPDATE WartungsDB SET RechAdr ='' WHERE RechAdr IS NULL;
    51. UPDATE WartungsDB SET RechPLZ ='' WHERE RechPLZ IS NULL;
    52. UPDATE WartungsDB SET RechOrt ='' WHERE RechOrt IS NULL;
    53. UPDATE WartungsDB SET EMail ='' WHERE EMail IS NULL;
    54. UPDATE WartungsDB SET Leistung ='' WHERE Leistung IS NULL;
    55. UPDATE WartungsDB SET Autonomie ='' WHERE Autonomie IS NULL;
    56. UPDATE WartungsDB SET Speicherpfas ='' WHERE Speicherpfas IS NULL


    Den Fehler den er bringt:


    Danke dass sich mir einer annimt :)

    EDIT: Er bringt mir den Fehler auch, wenn ich "IS" durch "=" ersetze..