SQL Server批量替换所有表中内容sql语句

代码如下:

 代码如下 复制代码

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 /*“u”为你要操作的数据类型,不改为全部数据类型,不想麻烦就不用修改了*/
in ('char', 'nchar', 'nvarchar', 'varchar','text','ntext' /* --这里如果你的text(ntext)类型没有超过8000(4000)长度,才可以使用*/)
declare @str varchar(500),@str2 varchar(500)
set @str=' ' /*这里是你要替换的字符*/
set @str2='' /*替换后的字符*/
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;

在SQL Server的查询分析器执行上面的代码,不需要在查看哪个表,哪个字断被注入了,可以很快删除被注入的字段,非常

时间: 2024-10-27 15:34:58

SQL Server批量替换所有表中内容sql语句的相关文章

Sql 批量替换所有表中内容_MsSql

复制代码 代码如下: 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'/*

SQL Server 2000 如何锁定表中的行,使其他线程读取该行时候发生sql异常,不能读取?

问题描述 SQL Server 2000 如何锁定表中的行,使其他线程读取该行时候发生sql异常,不能读取?以及锁定之后如何对该行数据进行释放? 解决方案 只能通过transaction和lock让别人读取这行的时候等待.如果真要做...高一点山寨也不是不行,不过非常恶心.首先,得在一个大transaction里面,我假设你的C#层已经做了transaction了,然后可以:DECLARE @exists INTSELECT @exists = 1 FROM myTable WITH (NOLO

Sql Server里删除数据表中重复记录的例子_MsSql

[项目] 数据库中users表,包含u_name,u_pwd两个字段,其中u_name存在重复项,现在要实现把重复的项删除! [分析] 1.生成一张临时表new_users,表结构与users表一样: 2.对users表按id做一个循环,每从users表中读出一个条记录,判断new_users中是否存在有相同的u_name,如果没有,则把它插入新表:如果已经有了相同的项,则忽略此条记录: 3.把users表改为其它的名称,把new_users表改名为users,实现我们的需要. [程序] 复制代

Sql Server里删除数据表中重复记录的例子

[项目] 数据库中users表,包含u_name,u_pwd两个字段,其中u_name存在重复项,现在要实现把重复的项删除! [分析] 1.生成一张临时表new_users,表结构与users表一样: 2.对users表按id做一个循环,每从users表中读出一个条记录,判断new_users中是否存在有相同的u_name,如果没有,则把它插入新表:如果已经有了相同的项,则忽略此条记录: 3.把users表改为其它的名称,把new_users表改名为users,实现我们的需要. [程序] 复制代

SQL Server 开发之 复制表数据的SQL脚本生成器

server|脚本|数据 使用SQL Server 2000自带的"生成SQL脚本"工具,可以生成创建表.视图.存储过程等的SQL脚本.那么,能否将表中的数据也生成为SQL脚本,在查询分析器中执行这些脚本后自动将数据导入到SQL Server中呢?答案是肯定的.下面的存储过程是一位高人写的,这位高人的姓氏已无人知晓,但SQL Server社区中偶尔还可看到此不朽之作.CREATE PROCEDURE  dbo.OutputData       @tablename   sysname 

SQL Server查找与删除表重复记录sql语句

在该示例中,我们将使用下表,它具有重复的 PK 值.在该表中,主键是两列(col1.col2).我们无法创建唯一索引或主键约束,因为这两行具有重复的 PK.该过程演示如何识别和删除重复的主键.    代码如下 复制代码 create table t1(col1 int, col2 int, col3 char(50)) insert into t1 values (1, 1, 'data value one') insert into t1 values (1, 1, 'data value o

sql过滤、删除、表中重复记录语句

文章介绍利用having group by 及各种select in 联合查询来实现的多种不同方法的过滤重复记录的sql语名. - 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 代码如下 select * from people where peopleId in (select   peopleId  from   people  group  by   peopleId  having  count(peopleId) > 1) 2.删除表中多余的重复记录,重

sql server 树状结构表中,获取指定节点的所有父节点路径

CREATE PROCEDURE [dbo].[A_P_GetParentIds] ( @IdValue NVARCHAR(36) ,-- 子节点值 @tableName NVARCHAR(MAX) ,-- 表名 @ParentIdColumnName NVARCHAR(MAX) ,-- 父节点列名 @ChildIdColumnName NVARCHAR(MAX)-- 子节点列名 ) AS DECLARE @sqlTemp NVARCHAR(MAX); --查询sql SET @sqlTemp

Sql Server在建好的表中,新增一列

alter table 表名 add 列明 数据类型; 例子: alter tableMapping add XX nvarchar(50);