如何循环SELECT语句sql的结果并将结果用于存储过程



我想通过使用游标将选择查询的结果使用到存储过程中,但它不起作用。

这是我的代码:

DECLARE @NumberPhone varchar(50)
DECLARE CUR CURSOR STATIC FOR
SELECT  MobilePhone
FROM info_client
OPEN CUR
FETCH NEXT FROM CUR INTO @NumberPhone 
WHILE @@FETCH_STATUS = 0
BEGIN
     DECLARE @return_value int, @idCli int, @sCode varchar(2)
     EXEC   @return_value = StoredP_Test
            @sLignePhone = @NumberPhone,
            @sIMEI ='00000000000000000',
            @idCli = @idCli OUTPUT,
            @sCode = @sCode OUTPUT
    SELECT @idCli as N'@idCli',
           @sCode as N'@sCode'  
    FETCH NEXT FROM CUR INTO @NumberPhone 
    SELECT 'Return Value' = @return_value
END
CLOSE CUR 
DEALLOCATE CUR

此代码与选择查询的行号重复相同的结果。

您的代码具有的初始获取

FETCH NEXT FROM CUR INTO @NumberPhone 

你的代码有一个提取下一个循环内

FETCH NEXT FROM CUR INTO @sLigneAssValue

您不想将next获取到@NumberPhone变量中吗?

@NumberPhone变量永远不会改变。

最新更新