Announcement

Collapse
No announcement yet.

Ändern eines Wertes innerhalb eines XML-Datentyp Feldes

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ändern eines Wertes innerhalb eines XML-Datentyp Feldes

    Hallo Zusammen,
    ich arbeite auf MS SQL und habe eine Datenbank-Tabelle "USERSETTING", dort gibt es ein XML-Feld "LS_SETTING"

    Vereinfacht sehen die Daten darin wie folgt aus:
    Code:
    <formsettings version="1.0." date="07.08.2013 19:00:34">
      <forms>
        <object name="invoice">&lt;form name="frminvoice" version="1.2"</object>
        <object name="offer">&lt;form name="frmoffer" version="1.2" </object>
        <object name="order">&lt;form name="frmorder" version="1.2"</object>
     .
     .
     .
      </forms>
    </formsettings>

    In der Tabelle USERSETTING gibt es ca. 300 Einträge und die Zeilen der Objekte ("object name") stehen nie in der gleichen Anordnung im XML Feld "LS_SETTING".
    D.h. einmal steht die Zeile "invoice" vor "offer" und das anderen mal ist es umgekehrt.

    Mein Ziel ist es nun eine bestimmte Zeile zu finden (siehe 1: Bsp. ist "offer"), und mit einer anderen Zeile auszutauschen, die ich fix vorgebe (siehe 2; im Bsp. wird die Version von "1.2" auf "2.0" geändert)

    (1) object name like 'offer' --> findet diesen Eintrag:
    Code:
    <object name="offer">&lt;form name="frmoffer" version="1.2" </object>
    (2) und ersetzt ihn durch diesen:
    Code:
    <object name="offer">&lt;form name="frmoffer" version="2.0" </object>
    Bezogen auf ein "normales" SQL-Statement will ich ein Update-Befehl machen.
    Code:
    Update USERSETTING
    SET Version = '2.0'
    WHERE Object_Name like 'offer'
Working...
X