【发布时间】:2016-07-12 09:50:38
【问题描述】:
我想通过游标将选择查询的结果用于存储过程,但它不起作用。
这是我的代码:
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
此代码与选择查询的行数重复相同的结果。
【问题讨论】:
-
您要执行哪个程序?没有名字?
-
你在第一轮使用
@NumberPhone,但在其余部分使用@sLigneAssValue -
也许您根本不需要光标?根据该过程正在做什么,游标很可能只是减慢此过程的方法。
-
请不要开始编写 sql server 之类的代码。请。 sqlservercentral.com/Forums/Topic642789-338-1.aspx
标签: sql sql-server tsql stored-procedures cursor