Die Tabelle wird als MasterTable
Spalten
ID
type BIGINT
,
Name
type VARCHAR(200)
(speichert xml
Daten aus bestimmten Gründen)
Name
enthält Daten, die als
<en-US>SomeEnglishText</en-US><it-IT>SomeItalicText</it-IT>
Wenn ich Update
die Master
Tabelle brauche, dann muss ich zu diesem Zeitpunkt die Varchar
auf xml
und dann bedingt aktualisieren / ersetzen den value
Teil von particular tag dh entweder en-US / it-IT
.
Es gibt auch die Möglichkeit, dass Keine Daten / Tags in der Name
-Spalte vorhanden sind. Ich denke also zum Zeitpunkt des Einfügens von Daten würde Insert
leere Tag-Elemente in der Tabelle wie <en-US></en-US><it-IT></it-IT>
Daher muss die update
-Abfrage leerer Wert in den Tag-Elementen nämlich en-US/it-IT
.
Ich versuche es wie folgt zu tun Update-Abfrage.
%Vor%Ich bekomme folgenden Fehler beim Ausführen der Abfrage
Illegale Verwendung der XML-Datentypmethode 'modify'. In diesem Zusammenhang wird eine nicht mutatorische Methode erwartet.
Sie können keine Zuweisung von einem xml.modify vornehmen. Ändern wirkt direkt auf die Variable / Spalte. Sie können für einen Cast auch keine Änderungen vornehmen.
Sie können den Namen in eine XML-Variable extrahieren, die XML-Datei modifizieren und dann in die Tabelle zurückstellen.
%Vor% Wenn Sie dies für mehr als eine Zeile gleichzeitig benötigen, können Sie eine Tabellenvariable mit den Spalten id
und name
verwenden, wobei der Datentyp für name xml
anstelle der @xml
-Variable ist.
Tags und Links sql-server sql-update xquery-sql xquery-update