T-SQL loop over query results

前端 未结 6 1648
别跟我提以往
别跟我提以往 2020-11-27 10:40

I run a query select @id=table.id from table and I need to loop over the results so I can exec a store procedure for each row exec stored_proc @varName=@i

6条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-11-27 11:46

    DECLARE @id INT
    DECLARE @name NVARCHAR(100)
    DECLARE @getid CURSOR
    
    SET @getid = CURSOR FOR
    SELECT table.id,
           table.name
    FROM   table
    
    WHILE 1=1
    BEGIN
    
        FETCH NEXT
        FROM @getid INTO @id, @name
        IF @@FETCH_STATUS < 0 BREAK
    
        EXEC stored_proc @varName=@id, @otherVarName='test', @varForName=@name
    
    END
    
    CLOSE @getid
    DEALLOCATE @getid
    

提交回复
热议问题