批量更新數(shù)據(jù)庫所有表中字段的內(nèi)容,中木馬后的急救處理
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'/* --這里如果你的text(ntext)類型沒有超過8000(4000)長(zhǎng)度,才可以使用*/)
declare @str varchar(500),@str2 varchar(500)
set @str='a' /*這里是你要替換的字符*/
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;
小于8000的處理
update buyok_Orderlist set Notes=replace(cast(Notes as varchar(8000)),'a','')
如果text/ntext超過8000/4000,看如下例子<沒有試過>
declare @pos int
declare @len int
declare @str nvarchar(4000)
declare @des nvarchar(4000)
declare @count int
set @des ='<requested_amount+1>'--要替換成的值
set @len=len(@des)
set @str= '<requested_amount>'--要替換的字符
set @count=0--統(tǒng)計(jì)次數(shù).
WHILE 1=1
BEGIN
select @pos=patINDEX('%'+@des+'%',propxmldata) - 1
from 表名
where 條件
IF @pos>=0
begin
DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR(字段名)
from 表名
where 條件
UPDATETEXT 表名.字段名 @ptrval @pos @len @str
set @count=@count+1
end
ELSE
break;
END
select @count
相關(guān)文章
SQL行號(hào)排序和分頁(SQL查詢中插入行號(hào) 自定義分頁的另類實(shí)現(xiàn))
如何在SQL中對(duì)行進(jìn)行動(dòng)態(tài)編號(hào),加行號(hào)這個(gè)問題,在數(shù)據(jù)庫查詢中,是經(jīng)典的問題2012-07-07sql server 臨時(shí)表 查找并刪除的實(shí)現(xiàn)代碼
考慮使用表變量而不使用臨時(shí)表。當(dāng)需要在臨時(shí)表上顯式地創(chuàng)建索引時(shí),或多個(gè)存儲(chǔ)過程或函數(shù)需要使用表值時(shí),臨時(shí)表很有用。通常,表變量提供更有效的查詢處理。2008-12-12Win10下安裝Sql Server 2014反復(fù)提示需安裝.NET Framework 3.5 SP1的解決方案
這篇文章主要介紹了Win10下安裝Sql Server 2014反復(fù)提示需安裝.NET Framework 3.5 SP1的解決方案,需要的朋友可以參考下2016-05-05sql 自定義百分比轉(zhuǎn)換小數(shù)函數(shù)代碼
sqlserver中自定義百分比轉(zhuǎn)換小數(shù)函數(shù),需要的朋友可以參考下。2011-09-09SQL Server 2016 查詢存儲(chǔ)性能優(yōu)化小結(jié)
SQL Server 2016已經(jīng)發(fā)布了有半年多,相信還有很多小伙伴還沒有開始使用,今天我們來談?wù)凷QL Server 2016 查詢存儲(chǔ)性能優(yōu)化,希望大家能夠喜歡2016-01-01解決SQL Server的“此數(shù)據(jù)庫沒有有效所有者”問題
解決SQL Server的“此數(shù)據(jù)庫沒有有效所有者”問題,需要的朋友可以參考下。2011-12-12SQL Server 事務(wù),異常和游標(biāo)詳解
這篇文章主要為大家介紹了SQLServer事務(wù),異常和游標(biāo),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01分頁存儲(chǔ)過程(三)在sqlserver中打造更加準(zhǔn)確的分頁結(jié)果
昨天的那篇分頁存儲(chǔ)過程(二)在MS SQL Server中返回更加準(zhǔn)確的分頁結(jié)果 中使用了游標(biāo),有很多熱心的朋友參與討論,感謝大家的參與。2010-05-05