我在SQL Server中有一個存儲過程,用於從其中一個表中刪除重複項。Microsoft Access - 使用光標存儲過程
此存儲過程使用遊標。
我試圖通過用'CREATE PROC'替換'CREATE PROCEDURE'來創建相同的存儲過程,但它似乎沒有工作。
任何人都可以提供一些解決方法嗎?
這裏是SQL Server存儲過程:
ALTER PROCEDURE [dbo].[csp_loginfo_duplicates]
AS
BEGIN
SET NOCOUNT ON;
declare @minrowid bigint
declare @empid nvarchar(15)
declare @dtpunched datetime
declare @count tinyint
declare curDuplicate cursor for
select empid,dtpunched,count(*),min(row_id) from loginfo
group by empid,dtpunched
having count(*)>1
open curDuplicate
fetch next from curduplicate into @empid,@dtpunched,@count,@minrowid
while (@@fetch_status=0)
begin
delete from loginfo where [email protected] and [email protected] and row_id<>@minrowid
fetch next from curduplicate into @empid,@dtpunched,@count,@minrowid
end
close curDuplicate
deallocate curDuplicate
END
正在刪除重複的東西,你只需要做一次,或者它必須是一個循環任務? – HansUp 2012-01-28 19:05:05
在訪問loginfo是一個本地表而不是鏈接。我不需要定期刪除重複。偶爾有一次。現在我正在研究另一個項目,一旦我開始再次研究這個問題,我會尋求你的建議。你一直很有幫助。非常感謝 ! – 2012-01-30 10:37:23