1

我正在尝试使用游标动态生成结果集。以下是代码

        DECLARE           @ MilestoneName VARCHAR(100),
        @MilestoneSts  VARCHAR(100),
        @ProjectPre    VARCHAR(10),
        @ProjectID     VARCHAR(10),
        @Center        VARCHAR(20),
        @CenterPre     VARCHAR(20),
        @Source        VARCHAR(20),
        @Actual        INT;

SET @MilestoneName = null;
SET @MilestoneSts = null;
SET @ProjectPre = null;
SET @CenterPre  = null;

DECLARE s_cursor CURSOR FOR
SELECT ProjectID, Center, Source, Actual
FROM #MILESTONE


OPEN s_cursor
FETCH NEXT FROM s_cursor INTO @ProjectID, @Center, @Source, @Actual

WHILE @@FETCH_STATUS = 0
BEGIN

  SELECT @@FETCH_STATUS sts, @ProjectID PID, @Center Center, @Source Source, @Actual Actual 
  FETCH NEXT FROM s_cursor INTO @ProjectID, @Center, @Source, @Actual
END

CLOSE s_cursor
DEALLOCATE s_cursor  

但是,使用它我可以生成 79 个单行结果,但我想将所有这些行合并为一个结果。任何可能的解决方案都将受到高度赞赏。

4

1 回答 1

0

只是检查一下,您为什么要为此使用游标?

这个 sproc 可以被替换为

SELECT ProjectID, Center, Source, Actual
FROM #MILESTONE

但也许我在这里错过了什么?

如果您在代码中遗漏了逻辑,请查看这篇文章:多语句表值函数与内联表值函数

GJ

于 2011-02-25T15:38:35.357 回答