Je devais copier des informations d'une rangée d'une table à une autre. J'ai remarqué que je pouvais faire ce qui suit:
update address
set col1 = a2.col1,
col2 = a2.col2,
.....etc
from address a1, address a2
where a1.id = @to and a2.id = @from
Cependant, le SQL ci-dessus semble un peu ambigu.
[
EDIT: NOTE: Pendant que je n'ai pas effectué de vastes tests, cette requête semble fonctionner comme je l'éprouve contre notre base de données de développement. Il met simplement à jour la ligne @to avec les résultats de la ligne @from.
Pour être moins ambiguë, vous pouvez préparer l'alias de la clause définie. (Tiré de 子 dans les commentaires, qui n'a pas soumis de réponse.)
update address
set a1.col1 = a2.col1,
a1.col2 = a2.col2,
.....etc
from address a1, address a2
where a1.id = @to and a2.id = @from