查找数据库中所有表中的字段包含特定值,之后修改特定值
2017-02-08 11:45
344 查看
declare @cloumns varchar(40) declare @tablename varchar(40) declare @str varchar(40) declare @counts int declare @sql nvarchar(2000) declare @str2 nvarchar(2000) declare MyCursor Cursor For Select a.name as Columns, b.name as TableName from syscolumns a,sysobjects b,systypes c where a.id = b.id and b.type = 'U' and a.xtype=c.xtype and c.name like '%varchar%' ---数据库中的老值 set @str='a392ab5a-9972-46e2-8a32-4afe78ca1076' ---需要更新的新值 set @str2 = 'a392ab5a-9972-46e2-8a32-4afe78ca1076-00' Open MyCursor Fetch next From MyCursor Into @cloumns,@tablename While(@@Fetch_Status = 0) Begin set @sql='select @tmp_counts=count(*) from ' +@tablename+ ' where ' +@cloumns+' = ''' +@str+ '''' execute sp_executesql @sql,N'@tmp_counts int out',@counts out if @counts>0 begin ---print '表名为:'+@tablename+',字段名为'+@cloumns set @sql = 'update ' + @tablename + ' set ' + @cloumns + '=''' + @str2 + ''' where ' +@cloumns+' = ''' +@str+ '''' execute sp_executesql @sql ---print @sql end Fetch next From MyCursor Into @cloumns,@tablename End Close MyCursor Deallocate MyCursor
本实例是为了修改数据库中有很多个表都包含了特定的字段,现在特定字段的值需要改变。以实现批量更新。
相关文章推荐
- Sql中查找数据库中,所有包含字段的表名
- 利用游标逐行修改数据库下所有的表的特定字段
- 查找mysql数据库中所有包含特定名字的字段所在的表
- 查找整个数据库里面包含某一字段的所有表
- 查找mysql数据库中所有包含特定名字的字段所在的表
- 查找mysql数据库中所有包含特定名字的字段所在的表
- 查找出关联数据库中所有包含某个字段的表的表名
- Oracle 查询数据库中包含某一特定值的所有字段名,以及表名
- 查找数据库中包含某个字段的所有表
- 查找 数据库中包含某一字段的所有表的表名的mysql语句
- SQL 搜索所有包含特定字段的表的数据。
- <yii 框架学习> <转> 关于yii数据库添加新字段之后model类的修改
- [SQL] 查找数据库中含有某字段的所有表
- 查找本库包含某字段的所有表
- mysql修改数据库所有字段的长度
- Sqlserver查找数据库中含有某字段的所有表
- 修改数据库所有字段类型varchar2-->char
- 查找数据库中含有某字段的所有表
- 查找数据库中含有指定数据的所有表名和字段
- 在当前数据库的所有表,所有字段查找字符串