UPDATE Record SET Record.CreateID = c.CreateID
FROM @RecordIDList r ,@CreateIDList c
WHERE r.ID = Record.ID
Ici @RecordIDList
et @CreateIDList
sont la clause de sortie agissant comme l'identité de portée pour plusieurs lignes cette requête fonctionne bien la seule question que je suis confronté est maintenant si @RecordIDList
a 5 Ids pour l'enregistrement, il met à jour l'enregistrement tableau mais en le mettant à jour avec le même c.CreateID
pour les 5 lignes et en mettant le top 1 c.CreateID
. Ai-je manqué quelque chose ou de faire quelque chose de mal? J'utilise SSMS 2014Requête Mise à jour MSSQL
Record.ID | Content | CreateID
-------------------------
1 | Khar | 1
2 | SantaCr | 2
3 | Sion | 3
4 | VT | 4
5 | newFort | 5
6 | Bandra | 6
7 | Worli | 7
CreateID | Date |
-------------------------
1 | 21-09-2017 |
2 | 21-09-2017 |
3 | 21-09-2017 |
4 | 21-09-2017 |
5 | 21-09-2017 |
6 | 21-09-2017 |
7 | 21-09-2017 |
http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using -old-style-joins.aspx –
En ce qui concerne la question, nous aurions besoin de quelque chose pour travailler. Échantillonner les données et la structure de la table à tout le moins. –
@SeanLange Deux oiseaux, une pierre;) – Sami