我有一個SP,這給了我兩個記錄(2名),如下面如何在光標運行循環爲每個用戶
現在,
我想要的是循環每個用戶使用
cursor
並顯示其數據從表中的日期是通過參數
以下是我的S P.
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
GO
我如何使用cursor
不知道請讓我知道
該邏輯不需要使用遊標。只有在需要時才應該使用遊標。 –
@GordonLinoff:所以如果沒有光標,怎麼可能用每個用戶的'mkey'來循環所有的相關數據呢? – BNN
[無法將NULL值插入'USERNAME'列,表'tempdb.dbo。#temptable error]'的可能重複(http://stackoverflow.com/questions/37760849/cannot-insert-null-values-into-column- username-table-tempdb-dbo-temptable -e) –