Heim > Datenbank > MySQL-Tutorial > Wie kann ich Datensätze mit einer CASE-Anweisung in SQL Server 2005 effizient aktualisieren?

Wie kann ich Datensätze mit einer CASE-Anweisung in SQL Server 2005 effizient aktualisieren?

Susan Sarandon
Freigeben: 2024-12-27 20:16:10
Original
431 Leute haben es durchsucht

How Can I Efficiently Update Records with a CASE Statement in SQL Server 2005?

So verwenden Sie die CASE-Anweisung in SQL Server 2005-Updates

Die CASE-Anweisung bietet eine prägnante Methode zum Aktualisieren von Datensätzen basierend auf angegebenen Bedingungen. Allerdings ist es wichtig, bei der Verwendung von CASE-Anweisungen auf Effizienz zu achten, insbesondere beim Umgang mit großen Tabellen.

Problem:

Die folgende SQL-Anweisung aktualisiert Datensätze in der TestStudents-Tabelle. Ändern bestimmter Nachnamen in neue Werte mithilfe der CASE-Anweisung:

UPDATE dbo.TestStudents  
SET LASTNAME = 
( CASE  
WHEN (LASTNAME = 'AAA') THEN 'BBB' 
WHEN (LASTNAME = 'CCC') THEN 'DDD' 
WHEN (LASTNAME = 'EEE') THEN 'FFF' 
ELSE  (LASTNAME)
END )
Nach dem Login kopieren

Während diese Anweisung das gewünschte Ergebnis erzielt, durchsucht sie jeden Datensatz in die Tabelle, auch diejenigen, die davon unberührt bleiben.

Lösung:

Um die Leistung zu verbessern und die Datenintegrität aufrechtzuerhalten, kann eine WHERE-Klausel hinzugefügt werden, um die Aktualisierung nur auf diese zu beschränken Zeilen, die für die Änderung in Frage kommen:

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')
Nach dem Login kopieren

Die WHERE-Klausel gibt an, dass nur Datensätze erfasst werden, deren Nachname „AAA“, „CCC“ oder „AAA“ entspricht „EEE“ sollte im Update enthalten sein. Dadurch wird sichergestellt, dass nicht betroffene Zeilen unverändert bleiben, wodurch unnötige Vorgänge in der Tabelle reduziert werden.

Durch die Kombination der CASE-Anweisung mit einer ordnungsgemäß definierten WHERE-Klausel können Sie bestimmte Datensätze in Ihrer SQL-Datenbank effizient aktualisieren und gleichzeitig die Datenintegrität wahren.

Das obige ist der detaillierte Inhalt vonWie kann ich Datensätze mit einer CASE-Anweisung in SQL Server 2005 effizient aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage