我试图从表中获取值(日期),每行都是唯一标识的,我使用游标来获取值。以下是BM_RLOS_DisbursementCallsGrid
表格的代码,其中bpm_refno
为主键,disbursal_Date
为日期。
一个bpm_refno
可以多次出现不同的日期,我将不得不获取具有最大日期的bpm_refno
,但是当我只运行Select语句时,它会按预期给出每行的结果不同的bpm_refno
和最大日期但是当我运行游标并打印该值时,处理结果需要花费太长时间,结果也是复制,我想要不同的行。
注意:我是游标中的新手。
此外,如果有人可以建议如何为每个唯一ID添加光标值,那将是一个很大的帮助。
CREATE PROCEDURE test1
AS
DECLARE @wi_name NVARCHAR(50);
DECLARE @date DATETIME;
DECLARE fetch_disb_date CURSOR FOR
'SELECT DISTINCT '''+ bpm_referenceno, max(callexecutiondate)
FROM BM_RLOS_DisbursementCallsGrid
WHERE calldescription='MG Contract Creation'
AND callstatus='SUCCESS'
GROUP by bpm_referenceno
BEGIN
OPEN fetch_disb_date;
FETCH next FROM fetch_disb_date
INTO @wi_name,@date;
WHILE (@@FETCH_STATUS=0)
BEGIN
PRINT @wi_name;
PRINT @date;
END;
CLOSE fetch_disb_date;
DEALLOCATE fetch_disb_date;
END