--生成动态语句的程序 declare @tname varchar(20), --表名 @lstr1 varchar(50), --要替换的字符串 @lstr2 varchar(50), --替换后的字符串 @sqlstr varchar(1000) set @tname='test_table' --赋要替换的表名 set @lstr1='ccc' set @lstr2='ddd' set @sqlstr='' select @sqlstr=@sqlstr+',['+rtrim(a.name)+']=replace(['+rtrim(a.name)+'],'''+@lstr1+''','''+@lstr2+''')' from syscolumns a,systypes b where a.id=object_id(@tname) and a.xtype=b.xtype and charindex(','+rtrim(b.name)+',',',char,varchar,nchar,nvarchar,')>0 set @sqlstr='update '+@tname+' set '+stuff(@sqlstr,1,1,'') exec (@sqlstr) --执行动态语句
释义:循环test_table表中的所有字段,并替换字段的值ccc为ddd