ne pas utiliser un curseur pour ce son traitement réglé simple
Créer Proc
Déclarer les variables
mettre les valeurs dans les variables
Insérer 4 Tableaux de Temp et les peupler (le #SI_OVER_I est l'un d'entre eux)
Mettre à jour A
Placer SI_Seq = b.maxsi + y.rn
du #SI_OVER_I comme A
Intérieur joindre (incomingid choisi, maximum (si_seq) comme maxsi
du #si_pver_i
groupe par l'incomingid) comme B
sur a.incomingid=b.incomingid
Intérieur joindre (incomingid choisi, row_number () plus de (ordre par le si_id) comme rn
de (incomingid distinct choisi, si_id de #si_over_i) comme x
) comme Y
sur a.incomingid=y.incomingid
là où IncomingId = @IncomingId et SI_ID = @SI_ID
Créer la table de Temp pour traiter les données
Créer la table finale de temp pour vider les données nécessaires
Mettre à jour alors toutes les données finales selon des principes économiques