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

Comment peut-on itérer sur les résultats d'une procédure stockée à partir d'une autre procédure stockée... sans curseurs ?

Ce n'est peut-être pas le plus efficace, mais je créerais une table temporaire pour contenir les résultats de la procédure stockée, puis je l'utiliserais dans une jointure avec la table cible. Par exemple :

CREATE TABLE #t (uniqueid int)
INSERT INTO #t EXEC p_YourStoredProc

UPDATE TargetTable 
SET a.FlagColumn = 1
FROM TargetTable a JOIN #t b 
    ON a.uniqueid = b.uniqueid

DROP TABLE #t