Sql Server cursor
declare @PcrId bigint declare @PcrIdList table(PCRID bigint) insert into @PcrIdList select PCRID from (select distinct PCRID from dbo.[ExtendFields]) a where not exists(select PCRID from [dbo].[ExtendFields_Transform1] where PCRID=a.PCRID) --select * from @PcrIdList SET XACT_ABORT ON declare pcrIdCursor cursor for select PCRID from @PcrIdList order by PCRID open pcrIdCursor fetch next from pcrIdCursor into @PcrId while @@FETCH_STATUS = 0 begin begin tran --print @PcrID; fetch next from pcrIdCursor into @PcrId commit tran; end close pcrIdCursor deallocate pcrIdCursor GO