zoukankan      html  css  js  c++  java
  • sqlserver中存储过程和游标的使用

    DECLARE
    @phone nvarchar(20)
    BEGIN
    declare @count int=0
    declare @dateNow nvarchar(100) =convert(nvarchar, getdate(),120)
    declare @dateNowFormat nvarchar(20) =convert(nvarchar(100), getdate(), 23) print @dateNowFormat
    declare @datepre nvarchar(100)=convert(nvarchar(100), CONVERT(varchar(100), dateadd(DAY,-1,@dateNowFormat), 23), 23)
    declare @tableBack nvarchar(100)='sms_userDeadPhone_'+@dateNowFormat

    print @dateNow
    print @datepre

    -- 定义游标.
    DECLARE DeadPhone CURSOR FAST_FORWARD FOR

    select UserPhone from SMS_UserDB.dbo.SMS_YDReciveMessage where (UserMessage like '%TD%' or UserMessage like '%td%') and MessageDate between @datepre and @dateNow
    -- 打开游标.
    OPEN DeadPhone;
    --填充数据.
    FETCH NEXT FROM DeadPhone INTO @phone;
    --假如检索到了数据,才处理.
    WHILE @@fetch_status = 0
    BEGIN
    print @phone;
    --查询号码是否已经存在
    select @count=COUNT(1) from SMS_UserDeadPhone where UserPhone=@phone
    if(@count<=0)
    begin
    --select * into UserDeadPhone from SMS_UserDeadPhone
    insert into DeadPhonetable(UserPhone,UserReson,CreateDate)values(@phone,'屏蔽',GETDATE())
    end

    --填充下一条数据.
    FETCH NEXT FROM DeadPhone INTO @phone;

    END
    -- 关闭游标
    CLOSE DeadPhone;
    --释放游标.
    DEALLOCATE DeadPhone;
    END;

  • 相关阅读:
    yum源
    存储计量单位排序
    博客园代码高亮
    磁盘配置
    软件包安装
    网络配置
    用户、组及权限控制
    Android开发项目中常用到的开源库
    使用百度地图时,Application类的onCreate执行两次的解决方案
    计算从1到n中,出现某位数字的次数
  • 原文地址:https://www.cnblogs.com/hui1107464497/p/4502115.html
Copyright © 2011-2022 走看看