sql刪除表中某一指定數(shù)據(jù)的方法
如果您需要?jiǎng)h除SQL數(shù)據(jù)庫(kù)所有表的所有字段中含有的某一指定數(shù)據(jù), 應(yīng)該如何做呢?下面就將為您介紹如何使用SQL語句解決這個(gè)問題(指定刪除的數(shù)據(jù)為XX),供您參考。
1 an 12345 aXX
2 XXb 56789 cXX
. ... ... ...
.. ... .... ....
執(zhí)行后
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