Ich habe diese sql:Wie aktualisierte SQL Server CE-Tabelle aus einer anderen Tabelle
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 drehen:
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 schon versucht, diese (was ich denken würde 2005 in SQL Server arbeiten - obwohl ich es nicht versucht haben):
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 ]
Also, ich dynamische SQL statt parame der Verwendung schreiben oder ich kann 2 Parameter mit dem gleichen Wert übergeben, aber weiß jemand, wie man das besser macht?
Colin
Aktualisierte Antwort, um den zweiten Teil Ihrer Frage zu decken. –