sql语句_实现查询库中所有表的所有字段中包含XX的删除

2009 - 6 - 10 作者 : 石家庄SEO 分类 :SQL Server
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(8000)

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 

4135 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18