Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment obtenir la valeur de step1 à step2 dans sql Job

Il n'y a pas de méthode intégrée pour transmettre des valeurs de variable entre les étapes de travail. Cependant, il existe quelques solutions de contournement.

Une option serait de stocker la valeur dans le tableau à la fin de l'étape 1 et de l'interroger à partir de la base de données à l'étape 2.

Il semble que vous génériez ProcessID en insérant dans une table et en retournant le SCOPE_IDENTITY() de la ligne insérée. Si l'étape 1 de la tâche est le seul processus à s'insérer dans cette table, vous pouvez récupérer la dernière valeur insérée à partir de la tâche 2 à l'aide de IDENT_CURRENT('<tablename>') fonction.

MODIFIER

Si plusieurs processus peuvent être insérés dans votre table de contrôle de processus, la meilleure solution consiste probablement à refactoriser les étapes 1 et 2 en une seule étape - éventuellement avec un package maître SSIS de contrôle (ou une autre technologie équivalente) qui peut transmettre les variables entre les étapes.