设为首页 加入收藏

TOP

mssql批量替换整个数据库
2014-11-23 21:28:53 来源: 作者: 【 】 浏览:12
Tags:mssql 批量 替换 整个 数据库

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,99) 为char,varchar,nchar,nvarchar,ntext类型
SELECT name FROM syscolumns WHERE xtype IN (231,167,239,175,99) AND id=@tbID
open cur1
fetch next FROM cur1 INTO @columnName
while @@fetch_status=0
begin
SET @sql=update [ + @tableName + ] set [+ @columnName +]= replace(cast([+@columnName+] as varchar(8000)),+@Str1+,+@Str2+) where [+@columnName+] like %+@Str1+%
--update tablename set fieldA=replace(cast(fieldA as varchar(8000)) ,aa,bb)这样的语句。
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

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇数据库菜鸟不可不看 简单SQL语句.. 下一篇触发器实现级联修改数据库中的相..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: