Beim Arbeiten mit Datenbanken ist das Verschieben und Austauschen von Werten zwischen Spalten eine übliche Aufgabe.
Beim Erstellen und Verwalten meiner Datenbank können Fehler in der Konfiguration und Codierung häufig durch einfaches Austauschen von Werten zwischen zwei verschiedenen Spalten behoben werden.
Beginnen wir mit dem Erstellen der Tabelle 'Mitarbeiter'.
Wenn vorhanden (SELECT-Name aus sys.tables, wobei Name = 'Mitarbeiter' ist), löschen Sie Tabellenmitarbeiter.
Fügen wir einige Beispieldaten in die Tabelle ein.
EINFÜGEN in Mitarbeiter WERTE (100, 'Smith', 'Jon', 10); EINFÜGEN in Mitarbeiter WERTE (101, 'novak', 'tim', 10); EINFÜGEN in Mitarbeiter WERTE (102, 'benk', 'mark', 10); INSERT in mitarbeiter WERTE (103, 'jobs', 'steve', 10); EINFÜGEN in Mitarbeiter WERTE (104, 'alex', 'gravell', 20);
Angenommen, wir haben versehentlich den Vornamen als Nachname und umgekehrt für die Abteilung 10 eingefügt. Um dies zu korrigieren, müssen wir die Werte für den Vornamen und den Nachnamen für diese Abteilung austauschen.
In der Employee-Tabelle firstname = 'smith' und lastname = "jon" müssen wir diese Werte austauschen, damit die aktualisierte Tabelle firstname = "jon" und lastname = "smith" und ebenfalls für alle Mitarbeiter in Abteilung 10 hat.
Die folgende Abfrage aktualisiert die Employee-Tabelle durch Vertauschen der Werte für fname und lname.
SELECT * von Mitarbeitern; Gehe DECLARE @temp, während die Mitarbeiter von varchar (20) update @temp = fname, fname = lname, lname = @temp setzen WHERE deptno = 10; GO SELECT * von Mitarbeitern;
Tausche Werte zwischen zwei Spalten
Die Logik für die Aktualisierungsabfrage ist dieselbe wie in anderen Programmiersprachen. Wir speichern die Werte, die überschrieben werden sollen, in einer temporären Variablen und schreiben die temporäre Variable dann an die richtige Position zurück.