2011-09-20 5 views

Répondre

20

Yo où droit Albert. J'ai fait quelques tests et j'ai trouvé que c'était possible, en effet. L'utilisation est la même que dans une instruction SELECT. Par exemple:

UPDATE some_table 
SET some_row = another_row, 
    some_row2 = another_row/2 
FROM some_table st 
    CROSS APPLY 
    (SELECT TOP 1 another_row FROM another_table at WHERE at.shared_id=st.shared_id) 
WHERE ... 
+1

N'oubliez pas d'accepter la bonne réponse s'il vous plaît – abatishchev

+3

La requête ci-dessus m'a donné l'erreur "Syntaxe incorrecte près de ')'." Il m'a fallu un peu de temps pour comprendre pourquoi je voulais juste ajouter la solution ici au cas où quelqu'un s'y heurterait. L'ajout d'un "as" après que l'instruction select de cross apply ait semblé le réparer. – Kjell

3

Je le crois. Exemple donné here.

+0

homme qui était rapide! Je vous remercie. –

+0

J'ai fait quelques tests. Vous avez raison, l'utilisation est la même que dans une instruction SELECT. –

+1

Le lien va à un exemple d'utilisation de CROSS APPLY dans un SELECT pas un UPDATE. – WileCau

Questions connexes