1、通过创建临时表的方法,将存储过程返回的数据集存入临时表内,表结构和返回的结果集一致,再通过临时表对数据进行操作。
ALTER PROCEDURE [dbo].[PROCEDURE1] AS BEGIN declare @xxx varchar(255), @xxxx INT declare medical_cursor cursor scroll for select xxx, xxxx from TB_TABLE open medical_cursor fetch next from medical_cursor into @xxx, @xxxx while @@FETCH_STATUS=0 begin --创建临时表 declare @TABLE TABLE ( ID int, ICD VARCHAR(50), )
INSERT INTO @TABLE exec [PROCEDURE1]@xxx, @xxxx
update TB_TABLE set DiseaseID = (SELECT TOP 1 ID FROM @TABLE where xxx= @xxx and xxxx= @xxxx)
fetch next from medical_cursor into @xxx, @xxxx end close medical_cursor deallocate medical_cursor END