So führen Sie ein SQL Server CE-Tabellenupdate von einer anderen Tabelle aus

Ich habe diese 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)

Es funktioniert, bis ich es in eine parametrisierte Abfrage verwandle:

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 ]

Ich habe Folgendes ausprobiert (was meiner Meinung nach in SQL Server 2005 funktionieren würde - obwohl ich es nicht ausprobiert habe):

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 ]

Ich kann also dynamisches SQL schreiben, anstatt Parameter zu verwenden, oder ich kann 2 Parameter mit demselben Wert übergeben, aber weiß jemand, wie das besser geht?

Colin

Antworten auf die Frage(1)

Ihre Antwort auf die Frage