MSSQL 遊標使用執行個體

來源:互聯網
上載者:User
DECLARE MyCURSOR CURSOR
FOR
select iGlideNum,sAccFlag,a.sDeptNo,sAccMan,ENT_Mobil,dAccDate,dSFinishDate from EG_SHL_ACCEPT as a,EG_SYS_ENTRY as e where sAccMan=ENT_Name and sAccFlag like '____x[3,4,5]'
OPEN MyCURSOR
declare @iGlideNum varchar(20)
declare @sAccFlag varchar(6)
declare @sDeptNo varchar(20)
declare @sAccMan varchar(10)
declare @ENT_Mobil varchar(20)
declare @dAccDate DateTime
declare @dSFinishDate DateTime
fetch next from MyCURSOR into @iGlideNum,@sAccFlag,@sDeptNo,@sAccMan,@ENT_Mobil,@dAccDate,@dSFinishDate
while(@@fetch_status=0)
  begin
    declare @iOverTime int
    declare @NowDate DateTime
    select top 1 @iOverTime=iOverTime from EG_SYS_PARAM
    select @NowDate=getdate();
    if cast(convert(varchar(10),@NowDate,120) as DateTime)> @dSFinishDate and cast(convert(varchar(10),@dSFinishDate,120) as DateTime)< (cast(convert(varchar(10),@NowDate,120) as DateTime)+@iOverTime)
    begin
        if @dSFinishDate+@iOverTime<cast(convert(varchar(10),@NowDate,120) as DateTime)
        begin
            insert into EG_DB_WARNINGINFO(iGlideNum,sWarnNode,sWarnType,sWarnText,sWarnMan,sWarnObject,sWarnCategory,sDeptNo,sWarnWay) values(@iGlideNum,@sAccFlag,1,'你受理的項目('+@iGlideNum+')結辦日期為'+convert(varchar(10),@dSFinishDate,120)+',現已超過超期警告辦理時間,給予一張紅牌警告,請儘快辦理。','自動',@sAccMan,0,@sDeptNo,0)
            insert into EG_DB_WARNINGBACK(sWarnText,sWarnMolOrMail,sWarnTpyes) values('你受理的項目('+@iGlideNum+')結辦日期為'+convert(varchar(10),@dSFinishDate,120)+',現已超過超期警告辦理時間,給予一張紅牌警告,請儘快辦理。',@ENT_Mobil,0)
        end else
        begin
            insert into EG_DB_WARNINGINFO(iGlideNum,sWarnNode,sWarnType,sWarnText,sWarnMan,sWarnObject,sWarnCategory,sDeptNo,sWarnWay) values(@iGlideNum,@sAccFlag,0,'你受理的項目('+@iGlideNum+')結辦日期為'+convert(varchar(10),@dSFinishDate,120)+',現已超期,給予一張黃牌警告,請儘快辦理。','自動',@sAccMan,0,@sDeptNo,0)
            insert into EG_DB_WARNINGBACK(sWarnText,sWarnMolOrMail,sWarnTpyes) values('你受理的項目('+@iGlideNum+')結辦日期為'+convert(varchar(10),@dSFinishDate,120)+',現已超期,給予一張黃牌警告,請儘快辦理。',@ENT_Mobil,0)
        end    
    end
        fetch next from MyCURSOR into @iGlideNum,@sAccFlag,@sDeptNo,@sAccMan,@ENT_Mobil,@dAccDate,@dSFinishDate
  end
close MyCURSOR
deallocate MyCURSOR

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.