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:
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:
(2) und ersetzt ihn durch diesen:
Bezogen auf ein "normales" SQL-Statement will ich ein Update-Befehl machen.
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"><form name="frminvoice" version="1.2"</object> <object name="offer"><form name="frmoffer" version="1.2" </object> <object name="order"><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"><form name="frmoffer" version="1.2" </object>
Code:
<object name="offer"><form name="frmoffer" version="2.0" </object>
Code:
Update USERSETTING SET Version = '2.0' WHERE Object_Name like 'offer'