UPDATE-Anweisung definieren
Verwenden Sie das Statement UPDATE, um bestehende Tabellenwerte zu verändern. Das Statement entspricht einer SQL UPDATE-Anweisung.
<StatementName>
<dbTableName action=”UPDATE”>
<table>realDbTableName</table>
<access>
<col1>val1</col1>
<col2>val2new</col2>
</access>
<key1>
<col2>val2old</col2>
<col4>val4</col4>
</key1>
<key2>
<col2>val2old2</col2>
</key2>
</dbTableName>
</StatementName>
...
1. Geben Sie im <access>-Element die neuen Spaltenwerte an.
Geben Sie genau ein <access>-Element an.
2. Geben Sie im <key>-Element die Bedingung an, unter der die Datensätze gefunden werden können, deren Spaltenwerte geändert werden sollen.
○ Um Ihre Bedingung zu formulieren, können Sie beliebig viele <key>-Elemente verwenden.
○ Spaltenwerte innerhalb eines <key>-Elements werden mit einem logischen UND kombiniert, verschiedene <key>-Elemente mit einem logischen ODER.
○ Definieren Sie das <key>-Element nicht oder definieren Sie ein leeres <key>-Element, bedeutet das, dass keine Bedingung spezifiziert ist und die gesamte Tabelle verändert werden soll.
Wenn Sie diesen Fall ausschließen wollen, dann wählen Sie in der Adapterkonfiguration Key-Tags erforderlich.
○ Haben Sie keine Bedingung in den <key>-Elementen formuliert, haben aber Key-Tags erforderlich gewählt, dann führt dies zu einem Fehler in der Message-Verarbeitung mit entsprechender Fehlerausgabe.
Die entsprechende SQL-Anweisung in der XML-Struktur oben lautet:
“
UPDATE dbTableName SET col1=’val1’, col2=’val2new’ WHERE ((col2=’val2old’ AND col4=’val4’) OR (col2=’val2old2’))
“
Es wird für alle Spalten der Spaltentyp STRING angenommen. Bei anderen Spaltentypen fallen unter Umständen die Zeichen “ weg.
Das Antwortdokument enthält das folgende Element sowie die Anzahl der veränderten Tabellenzeilen einschließlich 0.
<update_count>count</update_count>