Je pourrais probablement google ceci, mais il a semblé assez excentrique qu'il pourrait être utile d'avoir enregistré comme réponse sur SA. Donc, en développement, si vous voulez permuter les valeurs de deux variables, vous avez besoin d'une troisième variable temp.Comment fonctionnent les données de permutation entre deux colonnes dans SQL Server?
par exemple.
string x = "ABC";
string y = "DEF";
string temp;
temp = x;
x = y;
y = temp;
Cependant, dans une mise à jour de SQL, vous pouvez simplement dire
UPDATE table
SET ColumnA = ColumnB, ColumnB = ColumnA
Comment ce travail sous le capot
- Est-ce que SQL Server prend un cliché instantané de toute la ligne en premier?
- Est-ce que SQL Server prend un instantané de toutes les lignes mises à jour en une fois?
- L'optimiseur réalise-t-il qu'il effectue un échange de colonnes et qu'il crée une variable temp dans les coulisses?
Vive EoinC