• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    批量更新数据库所有表中字段的内容,中木马后的急救处理
    复制代码 代码如下:

    declare @t varchar(255),@c varchar(255)
    declare table_cursor cursor for select a.name,b.name
    from sysobjects a,syscolumns b ,systypes c
    where a.id=b.id and a.xtype='u' and c.name
    in ('char', 'nchar', 'nvarchar', 'varchar','text','ntext'/* --这里如果你的text(ntext)类型没有超过8000(4000)长度,才可以使用*/)
    declare @str varchar(500),@str2 varchar(500)
    set @str='a' /*这里是你要替换的字符*/
    set @str2='' /*替换后的字符*/
    open table_cursor
    fetch next from table_cursor
    into @t,@c while(@@fetch_status=0)
    begin exec('update [' + @t + '] set [' + @c + ']=replace(cast([' + @c + '] as varchar(8000)),'''+@str+''','''+ @str2 +''')')
    fetch next from table_cursor
    into @t,@c end close table_cursor deallocate table_cursor;
    小于8000的处理
    update buyok_Orderlist set Notes=replace(cast(Notes as varchar(8000)),'a','')
    如果text/ntext超过8000/4000,看如下例子没有试过>
    declare @pos int
    declare @len int
    declare @str nvarchar(4000)
    declare @des nvarchar(4000)
    declare @count int
    set @des ='requested_amount+1>'--要替换成的值
    set @len=len(@des)
    set @str= 'requested_amount>'--要替换的字符
    set @count=0--统计次数.
    WHILE 1=1
    BEGIN
    select @pos=patINDEX('%'+@des+'%',propxmldata) - 1
    from 表名
    where 条件
    IF @pos>=0
    begin
    DECLARE @ptrval binary(16)
    SELECT @ptrval = TEXTPTR(字段名)
    from 表名
    where 条件
    UPDATETEXT 表名.字段名 @ptrval @pos @len @str
    set @count=@count+1
    end
    ELSE
    break;
    END
    select @count
    上一篇:Sql Server 2000删除数据库备份文件
    下一篇:sqlserver 通用分页存储过程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    批量更新数据库所有表中字段的内容,中木马后的急救处理 批量,更新,数据库,所有,