Update vom Temp-Tabelle

Abfrage:

SELECT ID, T.c.value('@Address', 'nvarchar(20)' ) as Address
INTO #TMP
FROM TABLE1
    CROSS APPLY XMLData.nodes('/Document') AS T(c)

UPDATE TABLE1
SET HomeAddress = (SELECT TOP 1 t.Address
                   FROM #TMP t
                   WHERE t.ID = ID)

Hauptsächlich brauche ich zum kopieren von Daten aus einem XML-Feld zu normalen Feldern in derselben Tabelle.

Fragen:

  1. Irgendeinen Grund, warum alle Datensätze bekommen, die HomeAddress auf Tabelle1?
  2. Ist wirklich Cursor der einzige Weg, um den Wert zu aktualisieren auf Tabelle1?
InformationsquelleAutor SF Developer | 2013-02-27
Schreibe einen Kommentar