0
我为auto follow
用户创建了一个存储过程,并且此过程已在服务器上。在我的数据库中,有2万多个用户。本店程序使用光标。使用SQL Server存储过程和光标的“传输级错误”
出现此错误从服务器接收结果时发生传输级错误。 (provider:TCP提供程序,error:0 - 一个现有的连接被强行关闭远程主机)“
这是我的存储过程
DECLARE @UserIdF Int
DECLARE @UserId Int
DECLARE csrAutoFollow CURSOR FOR
SELECT TOP (1) userid FROM dbo.users where IsFUser = 1 ORDER BY NEWID()
OPEN csrAutoFollow
FETCH NEXT FROM csrAutoFollow INTO @UserIdF
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE csrauto CURSOR FOR
SELECT userid FROM dbo.Users WHERE IsFUser IS NULL
OPEN csrauto
FETCH NEXT FROM csrauto INTO @UserId
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC dbo.FollowUnfollowUser @UserIdF,@UserId,1
FETCH NEXT FROM csrauto INTO @UserId
END
CLOSE csrauto
DEALLOCATE csrauto
FETCH NEXT FROM csrAutoFollow INTO @UserIdF
END
CLOSE csrAutoFollow
DEALLOCATE csrAutoFollow
请让我知道这是否也可以改进