如何 运行 在每个用户的游标中循环

How to run LOOP in a cursor for each user

我有一个 SP,它给了我两条记录(2 个用户名),如下所示

现在,

what I want is to loop each user using cursor and display its data from the table for the date which is passed as in the parameter

下面是我的SP

ALTER PROCEDURE GET_USER_REPORT_DATA
        @From_Date datetime,
        @To_Date datetime

    AS
    BEGIN

        Select * into #GetUserTable
            from
                (
                      select distinct a.N_UserMkey, b.mkey,   
                      b.first_name + ' ' + b.last_name NAME from inward_doc_tracking_trl a inner join user_mst b on 
                      a.N_UserMkey = b.mkey 
                      where a.U_datetime between @From_Date and @To_Date                  
                ) as xx     

    DECLARE @N_Usermkey int, @mkey int, @NAME varchar       
        DECLARE UserCursor CURSOR FOR  
            select distinct a.N_UserMkey, b.mkey,   
                      b.first_name + ' ' + b.last_name NAME from inward_doc_tracking_trl a inner join
                      user_mst b on a.N_UserMkey = b.mkey 
                      where a.U_datetime between @From_Date and @To_Date
        OPEN UserCursor

    FETCH NEXT FROM vendor_cursor   
            INTO @N_Usermkey, @mkey, @NAME 

        -- need to run loop for each user

            SELECT * FROM #GetUserTable
                         DROP TABLE #GetUserTable
    END

开始

我不知道如何使用cursor请告诉我

您根本不需要游标,您的简单 select 查询就足够了...

select  a.N_UserMkey
       ,b.mkey
       ,ISNULL(b.first_name + ' ','') + ISNULL(b.last_name,'') NAME 
from inward_doc_tracking_trl a 
inner join user_mst b on a.N_UserMkey = b.mkey 
where a.U_datetime between @From_Date and @To_Date