När du arbetar med databaser är det en vanlig uppgift att flytta och byta värden mellan kolumner.
Ofta, när du bygger och administrerar min databas kan fel i konfiguration och kodning lösas genom att enkelt byta värden mellan två olika kolumner.
Låt oss börja med att skapa bord "anställda".
Om det existerar (VÄLJ namn från sys.tables där namn = 'anställda'), släpp tabellmedarbetare, SKAPA tabellanställda (empid int, fname varchar (20), lname varchar (20), deptno int);
Låt oss infoga några provdata i tabellen.
INSERT till anställda VÄRDEN (100, 'smith', 'jon', 10); INSERT till anställda värden (101, 'novak', 'tim', 10); INSERT till anställda VÄRDEN (102, 'benk', 'mark', 10); INSERT till anställda VÄRDEN (103, 'jobb', 'steve', 10); INSERT till anställda VÄRDEN (104, 'alex', 'gravell', 20);
Antag att oavsiktligt har vi lagt in förnamn som efternamn och vice versa för avdelning 10. För att rätta till detta måste vi byta förnamn och efternamnsvärden för den avdelningen.
I anställdas bord, förnamn = "smith" och efternamn = "jon", måste vi byta dessa värden så att den uppdaterade tabellen kommer att ha förnamn = "jon" och efternamn = "smith" och likaledes för alla anställda i avdelning 10.
Nedanförfrågan uppdaterar medarbetarnas tabell genom att byta värdena för fname och lname.
SELECT * från anställda; Gå DECLARE @temp som varchar (20) uppdatera anställda set @temp = fname, fname = Lname, lname = @temp VAR DEPTNO = 10; GO SELECT * från anställda;
Byt värden mellan två kolumner
Logiken för uppdateringsfrågan är samma som vi gör på andra programmeringsspråk. Vi lagrar värdena som kommer att skrivas över i en temporär variabel och sedan skriva tillbaka den temporära variabeln till rätt position.