AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrfach Update STatement

Ein Thema von Ykcim · begonnen am 5. Jul 2019 · letzter Beitrag vom 9. Jul 2019
 
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
716 Beiträge
 
Delphi 12 Athens
 
#11

AW: Mehrfach Update STatement

  Alt 8. Jul 2019, 11:29
Hallo Zusammen,

oaagnr kann unterschiedlich sein. In diesem aktuellen Beispiel ist es zwar identisch, aber bei nachfolgenden Prozessen ist das nicht sichergestellt. Daher muss ich es als zusätzlichen Parameter verwenden. Und auch waaupo ist zwar meistens 0 aber nicht immer...

Und wenn es unterschiedlich ist, kenne ich nicht die Syntax, es anders unterzubringen...

Gruß
Patrick
Naja, aber Du mußt sicherstellen, dass die WHERE-Klausel wirklich nur die Zeilen findet, die Du updaten willst, sonst hast Du halt das Problem, dass für manche der gefundenen Zeilen keine der When-Klauseln passt und dann halt NULL in die Spalte geschrieben wird.

Mmh, doch, Du könntest für jedes Case eine ELSE-Klausel verwenden, die einfach den aktuellen Wert der Spalte in diese schreibt.

Code:
update as400 set
  sequence = case
      when (concat(waaunr,'-',waaupo) ='408216-0' and oaagnr =10) then 1
      when (concat(waaunr,'-',waaupo) ='408217-0' and oaagnr =10) then 2
      when (concat(waaunr,'-',waaupo) ='408218-0' and oaagnr =10) then 3
      else sequence
  end,
  frozen = case
      when (concat(waaunr,'-',waaupo) ='408216-0' and oaagnr =10) then 1
      when (concat(waaunr,'-',waaupo) ='408217-0' and oaagnr =10) then 1
      when (concat(waaunr,'-',waaupo) ='408218-0' and oaagnr =10) then 0
      else frozen
  end,
  plan_date = case
      when (concat(waaunr,'-',waaupo) ='408216-0' and oaagnr =10) then '2019-07-05'
      when (concat(waaunr,'-',waaupo) ='408217-0' and oaagnr =10) then '2019-07-05'
      when (concat(waaunr,'-',waaupo) ='408218-0' and oaagnr =10) then '2019-07-06'
      else plan_date
  end
where concat(waaunr,'-',waaupo,'-',oaagnr) in ('408216-0-10', '408217-0-10', '408218-0-10')
Probier mal aus, ob die Datenbank-Engine sowas akzeptiert.
Peter Below
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz