sql server2005 循环操作

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

-- =============================================
-- Author:         Ylem
-- Create date:  2009-08-21
-- Update date: 2009-09-10
-- Description:   通过求职者ID获取求职者删除原因记录
-- =============================================
ALTER PROCEDURE [dbo].[Proc_DeleteJobseeker]
    @JobseekerID UniqueIdentifier    -- 求职者ID
AS
BEGIN
    update JobSeekerUser
    set Status=9    --删除
    where JobSeekerID=@JobseekerID
    --更新搜索引擎
    select resumeID,JobSeekerID,ROW_NUMBER()
    OVER(ORDER BY resumeID) AS rowNumber into #depTemp--求职者所有简历
    from ResumeBase  
    where JobSeekerID=@JobseekerID
    declare @max int--简历数
    --用来获得最大的rowNumber
    select @max=max(rownumber) from #depTemp
    declare @rowNo int --行号
    set @rowNo=1
    declare @resumeID UniqueIdentifier--简历ID
    while @rowNo<=@max
        --用来对每一个rowNumber来进行循环操作
        begin
            select  @resumeID=resumeID from #depTemp
            where rowNumber=@rowNo
            --更新搜索引擎
            exec proc_UpdateJobseekerDataForIndex @resumeID,4, 1,0
            --此处对每一行要进行的操作的代码
            set @rowNo=@rowNo+1
        end
    drop table #depTemp--清除临时表
END

--sp_helptext 'proc_InsertJobseekerCheck'
--sp_helptext 'proc_UpdateJobseekerDataForIndex'

posted on 2009-09-10 12:17  伊伦  阅读(651)  评论(1编辑  收藏  举报

导航