Comment faire de Sql Server CE tableau de mise à jour à partir d'une autre table

J'ai cette sql:

UPDATE JOBMAKE SET WIP_STATUS='10sched1'
WHERE JBT_TYPE IN (SELECT JBT_TYPE FROM JOBVISIT WHERE JVST_ID = 21)
AND JOB_NUMBER IN (SELECT JOB_NUMBER FROM JOBVISIT WHERE JVST_ID = 21)

Il fonctionne jusqu'à ce que je le transformer en un paramétrer la requête:

UPDATE JOBMAKE SET WIP_STATUS='10sched1'
WHERE JBT_TYPE IN (SELECT JBT_TYPE FROM JOBVISIT WHERE JVST_ID = @jvst_id)
AND JOB_NUMBER IN (SELECT JOB_NUMBER FROM JOBVISIT WHERE JVST_ID = @jvst_id)

Duplicated parameter names are not allowed. [  Parameter name = @jvst_id ]

J'ai essayé ceci (qui, je pense, serait de travailler dans SQL SERVER 2005 - bien que je n'ai pas essayé):

UPDATE JOBMAKE 
SET WIP_STATUS='10sched1' 
FROM JOBMAKE JM,JOBVISIT JV
WHERE  JM.JOB_NUMBER = JV.JOB_NUMBER
AND JM.JBT_TYPE = JV.JBT_TYPE 
AND JV.JVST_ID = 21
There was an error parsing the query. [ Token line number = 3,Token line offset = 1,Token in error = FROM ]

Donc, je peux écrire du sql dynamique au lieu d'utiliser les paramètres, ou je peux la passer en 2 paramètres avec la même valeur, mais quelqu'un sait comment faire une meilleure façon?

Colin

Mise à jour de la réponse à la deuxième partie de votre question.

OriginalL'auteur Colin | 2009-08-21