Aktualisieren ausgewählter Datensätze mit der CASE-Anweisung in SQL Server 2005
Die angegebene SQL-Anweisung verwendet eine CASE-Anweisung, um bestimmte Datensätze basierend auf ihrem NACHNAMEN zu aktualisieren Werte. Allerdings besteht ein Problem darin, dass die ELSE-Bedingung alle Zeilen umfasst und zu unnötiger Verarbeitung führt. Um dieses Problem anzugehen, wird eine optimierte Lösung vorgeschlagen.
Um das unnötige Scannen zu minimieren, kann man wie folgt eine WHERE-Klausel in die Anweisung integrieren:
UPDATE dbo.TestStudents SET LASTNAME = CASE WHEN LASTNAME = 'AAA' THEN 'BBB' WHEN LASTNAME = 'CCC' THEN 'DDD' WHEN LASTNAME = 'EEE' THEN 'FFF' ELSE LASTNAME END WHERE LASTNAME IN ('AAA', 'CCC', 'EEE');
In diesem überarbeiteten Code wird die WHERE Die Klausel beschränkt den Aktualisierungsvorgang nur auf die interessierenden LASTNAME-Werte („AAA“, „CCC“ und „EEE“). Dadurch wird sichergestellt, dass die nicht betroffenen Zeilen unverändert bleiben, während die beabsichtigten Aktualisierungen effizient durchgeführt werden.
Das obige ist der detaillierte Inhalt vonWie kann ich SQL Server-Updates mithilfe von CASE-Anweisungen und WHERE-Klauseln optimieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!