我试图将存储过程的结果放入游标中,以在当前过程中使用。我在下面添加了我的代码,但是我不确定这是否可行或者我的语法是否正确?

DECLARE cursorIDList CURSOR FOR
    EXEC spGetUserIDs
OPEN cursorIDList

FETCH NEXT FROM cursorIDList INTO @ID

我收到以下错误:'EXEC'附近的语法不正确。期待SELECT,'('或WITH。

提前致谢。

最佳答案

您可以这样做:

DECLARE @t TABLE (ID INT)
INSERT INTO @t
EXEC spGetUserIDs

DECLARE cursorIDList CURSOR FOR
    SELECT * FROM @t
OPEN cursorIDList

FETCH NEXT FROM cursorIDList INTO @ID

10-08 18:48