首页 > 其他 > 详细

批量替换某个表中的字段字符串

时间:2014-07-22 00:19:04      阅读:342      评论:0      收藏:0      [点我收藏+]
declare @curTable nvarchar(500),
        @FilterStr nvarchar(500);--过滤字符串 字符串及之后的数据将被替换为空
set  @FilterStr=<;
set  @curTable=B07;        
DECLARE 
    @SQLList nvarchar(4000),
    @tableName VARCHAR(10),
    @name VARCHAR(10),
    @type VARCHAR(10);
set @SQLList=‘‘;
BEGIN
  -- 定义游标.
  DECLARE c_test_main CURSOR FAST_FORWARD FOR
    -- select [dbid],[name] from sysdatabases where dbid>4;--查询数据库名称
    select b.name as tableName,a.name as columnName,c.name as columnType from syscolumns a inner join sysobjects b on a.id=b.id inner join systypes c on a.xtype=c.xtype 

WHERE a.id=OBJECT_ID(N[+@curTable+]) And c.name not like sysname ORDER BY colid
    
  -- 打开游标.
  OPEN c_test_main;
 
  WHILE 1=1
  BEGIN
    -- 填充数据.
    FETCH NEXT FROM c_test_main INTO @tableName,@name,@type;
    -- 假如未检索到数据,退出循环.
    IF @@fetch_status!= 0 BREAK;
    
    if @type=varchar 
        begin
            --select @tableName,@name,@type;
            set @SQLList=@SQLList+;update [+@tableName+] set [+@name+]=replace([+@name+],substring([+@name+],charindex(‘‘‘+@FilterStr+‘‘‘,[+@name+]),len([+@name+])),‘‘‘‘); 
        end
  END;
  
  -- 关闭游标
  CLOSE c_test_main;
  -- 释放游标.
  DEALLOCATE c_test_main;
END
select @SQLList;

批量替换某个表中的字段字符串,布布扣,bubuko.com

批量替换某个表中的字段字符串

原文:http://www.cnblogs.com/xyzhuzhou/p/3858308.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!