如表有10个表 :table1 table2 table3 table4 table5 table6
每个表里的某个字段都有"美女"的内容如何批量修改表里的数据"美女" 改成“美男”??

解决方案 »

  1.   

    update tb1 set @name=replace(@name,'美女','美男')
    update tb2 set @name=replace(@name,'美女','美男')
    update tb3 set @name=replace(@name,'美女','美男')
    .....go
      

  2.   


    DECLARE @sql VARCHAR(100)
    SET @sql=''
    DECLARE @i INT
    SET @i=1
    WHILE @i<11
    BEGIN
    SET @sql='UPDATE table'+CAST(@i AS VARCHAR(4))+' SET col=REPLACE(col,''美女'',''美男'')'
    EXEC(@sql)
    SET @i=@i+1
    end
      

  3.   


    DECLARE @sql VARCHAR(100)
    SET @sql = ''
    DECLARE @i INT
    SET @i = 1
    WHILE @i < 11 
        BEGIN
            SET @sql = 'UPDATE table' + CAST(@i AS VARCHAR(4))
                + ' SET col=REPLACE(col,''美女'',''美男'')'--这里的col是你的列名
            --print @sql /*可以看到执行的sql字符串*/
            EXEC(@sql)
            SET @i = @i + 1
        END
      

  4.   

    如果表名称分别是 tret tretre  tretre    tre44  trt   tter     tretr   tretret又如何?
      

  5.   

    做一张字典表
    里面放上所有的
    A表名 B列名
    tret  col1
    tret  col2
    tretre col1
    tretre col2
    然后照他们的代码改改SET @sql = 'UPDATE  '+@table+ ' SET ' + @col+' =REPLACE( '+@col+' ,''美女'',''美男'')'--这里的col是你的列名
            --print @sql /*可以看到执行的sql字符串*/
            EXEC(@sql)
      

  6.   

    USE databasenameDECLARE @sql NVARCHAR(4000)
    SET @sql = N''select @sql = @sql + N'update [' + [name] + N'] set YourFieldName = replace(YourFieldName, ''美女'',''美男'');' from dbo.sysobjects where OBJECTPROPERTY(id, N'IsUserTable') = 1
    AND CHARINDEX(N' '+[name]+N' ', N' tret tretre tretre tre44 trt tter tretr tretret a b ') > 0
    --SELECT @sql
    EXEC(@sql)
      

  7.   

    我建议一个一个的改.
    update table1 set col1 = replace(col1,'美女','美男')
    update table1 set col2 = replace(col2,'美女','美男')
    ...
    update table1 set coln = replace(coln,'美女','美男')update table2 set col1 = replace(col1,'美女','美男')
    update table2 set col2 = replace(col2,'美女','美男')
    ...
    update table2 set coln = replace(coln,'美女','美男')....update table10 set col1 = replace(col1,'美女','美男')
    update table10 set col2 = replace(col2,'美女','美男')
    ...
    update table10 set coln = replace(coln,'美女','美男')