SQL SERVER 存储过程将SELECT 数据集赋值给新表某个字段

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
原文地址:https://www.cnblogs.com/stupid-chan/p/11344039.html