sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo se puede iterar sobre los resultados del procedimiento almacenado desde dentro de otro procedimiento almacenado... sin cursores?

Puede que esto no sea lo más eficiente, pero crearía una tabla temporal para contener los resultados del proceso almacenado y luego la usaría en una combinación con la tabla de destino. Por ejemplo:

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