Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como se pode iterar sobre os resultados do procedimento armazenado de dentro de outro procedimento armazenado... sem cursores?


Isso pode não ser o mais eficiente, mas eu criaria uma tabela temporária para armazenar os resultados do proc armazenado e usaria isso em uma junção na tabela de destino. Por exemplo:
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