sql删除表中某一指定数据的方法

数据库 SQL Server
如果您需要删除数据库所有表的所有字段中含有的某一指定数据, 应该如何做呢?下面就将为您介绍这种方法(指定数据为XX),供您参考。

如果您需要删除SQL数据库所有表的所有字段中含有的某一指定数据, 应该如何做呢?下面就将为您介绍如何使用SQL语句解决这个问题(指定删除的数据为XX),供您参考。

1  an   12345    aXX
2  XXb  56789    cXX
.  ...  ...      ...
.. ...  ....      ....
执行后
1  an   12345    a
2  B    56789    c
.  ...  ...      ...
.. ...  ....      ....
声明下 所有表 所有字段 中包含XX 的 

——————————————————————————————

程序代码:

DECLARE @tabName VARCHAR(40),@colName VARCHAR(40)

DECLARE @sql VARCHAR(2000)

DECLARE tabCursor CURSOR FOR
Select name From sysobjects Where xtype = 'u' AND name <> 'dtproperties'

OPEN tabCursor

FETCH NEXT FROM tabCursor INTO @tabName
WHILE @@fetch_status = 0
BEGIN
  SET @sql = 'Update ' + @tabName + ' SET '
  DECLARE colCursor CURSOR FOR Select Name FROM SysColumns Where id=Object_Id(@tabName)
  OPEN colCursor
  FETCH NEXT FROM colCursor INTO @colName
  WHILE @@fetch_status = 0
  BEGIN
    SET @sql = @sql + @colName + '=REPLACE(' +@colName+ ',''XX'',''''),'
    FETCH NEXT FROM colCursor INTO @colName
  END
  SET @sql = LEFT(@sql,LEN(@sql)-1)
  EXEC(@sql)
  CLOSE colCursor
  DEALLOCATE colCursor
  FETCH NEXT FROM tabCursor INTO @tabName
END

CLOSE tabCursor

DEALLOCATE tabCursor
 

责任编辑:段燃 来源: 互联网
相关推荐

2010-09-02 11:34:51

SQL删除

2010-09-01 16:47:18

SQL删除

2015-12-29 11:19:06

数据中心网络运维

2010-10-22 16:48:49

SQL删除所有表数据

2010-09-02 10:36:51

SQL删除

2010-09-02 10:53:21

SQL删除

2014-10-17 14:53:16

华为华为商城

2012-12-14 16:03:28

2014-10-20 15:47:14

华为首发灵犀一指

2010-09-03 11:52:41

SQL删除

2014-08-25 09:20:03

路由器

2010-09-02 11:38:44

SQL删除

2010-09-03 10:21:35

SQL删除

2010-09-02 10:15:46

SQL删除

2010-09-02 16:40:15

SQL删除

2010-09-09 15:13:33

SQL更新数据

2010-09-08 13:14:57

SQL删除约束

2009-04-20 15:54:04

SQL Server重复行

2010-09-09 15:23:16

SQL更新数据

2010-11-10 13:28:06

SQL Server删
点赞
收藏

51CTO技术栈公众号