zoukankan      html  css  js  c++  java
  • 批量替换一个数据库中所有表中所有记录

    /***********批量替换一个数据库中所有表中所有记录************/
    declare @delStr nvarchar(500)
    set @delStr='这里是要替换的字符'
    /**********以下为操作实体************/
    set nocount on

    declare @tableName nvarchar(100),@columnName nvarchar(100),@tbID int,@iRow int,@iResult int
    declare @sql nvarchar(500)

    set @iResult=0
    declare cur cursor for
    select name,id from sysobjects where xtype='U'

    open cur
    fetch next from cur into @tableName,@tbID

    while @@fetch_status=0
    begin
      declare cur1 cursor for
            --xtype in (231,167,239,175) 为char,varchar,nchar,nvarchar类型
            select name from syscolumns where xtype in (231,167,239,175) and id=@tbID
      open cur1
      fetch next from cur1 into @columnName
      while @@fetch_status=0
      begin
          set @sql='update [' + @tableName + '] set ['+ @columnName +']= replace(['+@columnName+'],'''+@delStr+''','''') where ['+@columnName+'] like ''%'+@delStr+'%'''      
          exec sp_executesql @sql      
          set @iRow=@@rowcount
          set @iResult=@iResult+@iRow
          if @iRow>0
          begin
        print '表:'+@tableName+',列:'+@columnName+'被更新'+convert(varchar(10),@iRow)+'条记录;'
          end      
          fetch next from cur1 into @columnName


      end
      close cur1
      deallocate cur1
      
      fetch next from cur into @tableName,@tbID
    end
    print '数据库共有'+convert(varchar(10),@iResult)+'条记录被更新!!!'

    close cur
    deallocate cur
    set nocount off
    /*****以上为操作实体******/
    0
    0
  • 相关阅读:
    E-Eating Together(POJ 3670)
    F-Dining Cows(POJ 3671)
    I-MooFest(POJ 1990)
    A-Apple Catching(POJ 2385)
    H-The Cow Lineup(POJ 1989)
    LOOPS(HDU 3853)
    Card Collector(HDU 4336)
    Help Me Escape (ZOJ 3640)
    Collecting Bugs(POJ 2096)
    c#大圣之路笔记——c# 从DataGrid中导出数据 Session
  • 原文地址:https://www.cnblogs.com/luluping/p/1530614.html
Copyright © 2011-2022 走看看