替换SQL Server数据库中所有表的所有字段的某些内容

简介: 方法一: exec   sp_msforeachtable   @command1=N'      declare   @s   nvarchar(4000),@tbname   sysname      select   @s=N'''',@tbname=N''?''      select   @s=@s+N'',''+quotename(a.

 

方法一:

exec    sp_msforeachtable    @command1 = N '    
  declare   @s   nvarchar(4000),@tbname   sysname   
  select   @s=N
'''' ,@tbname=N '' ? ''    
  select   @s=@s+N
'' , '' +quotename(a.name)+N '' =replace( '' +quotename(a.name)+N '' ,N '''' aa '''' ,N '''' bb '''' ) ''    
  from   syscolumns   a,systypes   b   
  where   a.id=object_id(@tbname)     
  and   a.xusertype=b.xusertype   
  and   b.name   like   N
'' %char ''    
  if   @@rowcount>0   
  begin   
  set   @s=stuff(@s,1,1,N
'''' )   
  exec(N
'' update    '' +@tbname+ ''    set    '' +@s)   
  end
'

 

方法二:

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 = ' aa '  
-- 这里是你要替换的新字符 
set   @str2 = ' bb '
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;
相关文章
|
3月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
783 152
|
3月前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
405 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
2月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
210 6
|
3月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
3月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
325 8
|
3月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
|
SQL 关系型数据库
SQL更新部分字段或者插入新数据
SQL更新部分字段或者插入新数据http://www.bieryun.com/3184.html 因为业务的原因,一张表的数据需要整合两张外键关联不强的表数据,这里涉及到更新部分字段或者插入新数据。
1656 0
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
557 13
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
370 9