如何解决在 Asp.net MVC 列表中获取 SQL Cursor Fetched Data
我为每个循环嵌套了多个查询,其中有数百万条记录,它的粘性很长,以处理来自 asp.net MVC 的每次循环迭代的查询,然后我创建了一个游标,而不是从操作中执行多个查询,但不能检索列表/变量中获取的行。
SQL:
ALTER proc [dbo].[sp_get_AllofPostings]
@comp nvarchar(max),@TNumber int
as
begin
DECLARE @Id NVARCHAR(128),@AccountCode varchar(max),@TrasactionNumber int,@LedgerNumber int,@RefCode varchar(50),@IsDebit bit,@Amount float,@pcomp nvarchar(max),@CreateDate datetime,@status bit
-- declare cursor
DECLARE postings_cursor CURSOR FOR
SELECT * FROM Postings where TrasactionNumber = @TNumber and CoId=@comp and Amount IS NOT NULL
OPEN postings_cursor;
FETCH NEXT FROM postings_cursor INTO @Id,@AccountCode,@TrasactionNumber,@LedgerNumber,@RefCode,@IsDebit,@Amount,@pcomp,@CreateDate,@status
WHILE @@FETCH_STATUS = 0
BEGIN
--do somthing here
Declare @LAccountName nvarchar(max),@LGLAccount int,@GLName nvarchar(max),@Gaccountcode varchar(50)
SET @LAccountName = (select AccountName from Ledgers where CoId=@comp and AccountCode=@AccountCode)
SET @LGLAccount = (select GLAccount from Ledgers where CoId=@comp and AccountCode=@AccountCode)
SET @GLName = (select GLName from GLAccounts where CoId=@comp and Keyid = @LGLAccount)
SET @Gaccountcode = (select Name from Groups where CoId=@comp and Code = @AccountCode)
FETCH NEXT FROM postings_cursor INTO @Id,@status
END;
CLOSE postings_cursor;
DEALLOCATE postings_cursor;
END
C#:
var posting = db.sp_get_AllofPostings(comp,item.Number);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。