Je cette sql:Comment faire la mise à jour de la table CE Sql Server à partir d'une autre table
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 retourne dans une requête paramétrée:
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é (que je penser travaillerait dans SQL Server 2005 - bien que je ne l'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 ]
Alors, je peux écrire sql dynamique au lieu d'utiliser Paramé ters, ou je peux passer 2 paramètres avec la même valeur, mais est-ce que quelqu'un sait comment faire cela d'une meilleure façon?
Colin
Réponse mise à jour pour couvrir la deuxième partie de votre question. –