使用游标

--RID循环插入数据到表HBS_Personal_Ratio
DECLARE @HBS_Detail_RID varchar(50)
DECLARE item CURSOR FOR

SELECT RID FROM Common_ImportData_Dtl(nolock) where log_rid=@Log_Rid order by row_no

OPEN item
fetch next from item into @HBS_Detail_RID
while @@fetch_status<>-1
begin
print @HBS_Detail_RID
INSERT INTO HBS_Personal_Ratio
SELECT NEWID(),a.RID,b.Quarter_Month,b.Allocation_RID,a.HeadCount FROM (
SELECT ROW_NUMBER() OVER (order by Column_Name) AS RowNumber,RID,Column_Name,HeadCount FROM #HBS_Personal_Ratio WHERE RID=@HBS_Detail_RID
) a
LEFT JOIN #HBS_Template_Detail b ON b.RowNumber=a.RowNumber

INSERT INTO HBS_Personal_Ratio_Log
SELECT *,'Insert',@UserID,getdate(),newid() FROM HBS_Personal_Ratio WHERE HBS_Detail_RID=@HBS_Detail_RID

fetch next from item into @HBS_Detail_RID
end
close item
deallocate item

posted @ 2017-06-16 11:14  码着码着就习惯了  阅读(101)  评论(0)    收藏  举报