簡體   English   中英

在SQL Server 2005中為臨時表創建游標

[英]Create cursor for temporary table in sql server 2005

我有一些數據插入到臨時表中,並且我想通過使用CURSOR在循環中顯示COUNT

這是臨時表:-

SELECT * 
INTO #temp
 FROM (
select distinct a.CUser_id, b.User_Id, b.first_name + ' ' + b.last_name NAME
from inward_doc_tracking_trl a, user_mst b
where a.CUser_id = b.mkey
and CStatus_flag = 1
and NStatus_flag = 4
) AS x
Select * from #temp order by NAME

[![TEMP TABLE數據] [1]] [1]

我是新手,請幫忙

我正在使用sql server 2005

根據我們在聊天中的討論:

DECLARE @Count INT


SELECT * 
            INTO #temp
             FROM (
            select distinct a.CUser_id, b.User_Id, b.first_name + ' ' + b.last_name AS NAME, 0 AS RECEIVED 
            from inward_doc_tracking_trl a, user_mst b
            where a.CUser_id = b.mkey
            and CStatus_flag = 1
            and NStatus_flag = 4
            ) AS x


DECLARE Cur_1 CURSOR
    FOR SELECT CUser_id, User_Id FROM #temp


OPEN Cur_1
DECLARE @CUser_id INT
DECLARE @User_Id INT
FETCH NEXT FROM Cur_1 
INTO @CUser_id, @User_Id

    WHILE (@@FETCH_STATUS = 0)
        BEGIN

        SELECT @Count = COUNT(*) FROM inward_doc_tracking_trl
        WHERE CUser_id = @CUser_id 
        AND NStatus_flag = 4 
        AND CStatus_flag = 1 
        AND a.U_datetime BETWEEN '01/04/2016' AND GETDATE()

        UPDATE #temp
        SET RECEIVED = @Count
        WHERE CUser_id = @CUser_id
        AND User_Id = @User_Id

    FETCH NEXT FROM Cur_1 INTO @CUser_id, @User_Id
        END
CLOSE Cur_1
DEALLOCATE Cur_1

SELECT * FROM #temp
DROP TABLE #temp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM