gpt4 book ai didi

sql-server - 调用另一个存储过程的存储过程长时间挂起

转载 作者:行者123 更新时间:2023-12-04 05:27:54 25 4
gpt4 key购买 nike

我有一个存储过程,可以为特定客户获取所需的信息。它回来了 20 行...

我需要做的是为 20 个客户调用一个或多个这个存储过程,然后返回整个结果集。我有以下内容,但它只是挂起并说正在执行......我想知道我有什么问题......

ALTER PROCEDURE [dbo].[getAllTotals] -- This stored procedure is new
@pDt1 datetime, @pDt2 datetime, @pStore int
AS
BEGIN
DECLARE @AccountTbl table (AccountID int );
DECLARE @TotalTbl table (AccountID int, col1 varchar(100), col2 varchar(100) );

DECLARE @accountID int

--cache all accountid INTO cursor AccountID_cursor
DECLARE AccountID_cursor CURSOR FOR
SELECT Storeid
FROM tblStore
WHERE StoreID = 111 OR storeid = 933

OPEN AccountID_cursor;

FETCH NEXT FROM AccountID_cursor INTO @accountID;

WHILE @@FETCH_STATUS = 0
BEGIN
--insert total amount info to tmp table @TotalTbl
insert @TotalTbl
EXEC [dbo].[rptTransactions06192012_royal]
@pDt1 = @pDt1, @pDt2 = @pDt2, @pStore = @accountID
END

--Send temp table results to front end as.
SELECT * FROM @TotalTbl
END

这有意义吗?

提前致谢!!

安娜

最佳答案

您永远不会指示光标抓取下一行。

FETCH NEXT FROM AccountID_cursor INTO @accountID;
WHILE @@FETCH_STATUS = 0

BEGIN

--insert total amount info to tmp table @TotalTbl

insert @TotalTbl

EXEC [dbo].[rptTransactions06192012_royal]
@pDt1 = @pDt1,
@pDt2 =@pDt2,
@pStore = @accountID

FETCH NEXT FROM AccountID_cursor INTO @accountID;

END

另外,请记住,游标是出了名的慢。

关于sql-server - 调用另一个存储过程的存储过程长时间挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12991917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com