| |
--Adapted from Aaron Bertrand's excellent SQL Resource Site: http://www.aspfaq.com/show.asp?id=2445
DECLARE
@txtPval binary(16),
@txtPidx INT,
@badStr VARCHAR(500),
@goodStr VARCHAR(500),
@lenBadStr INT,
@curID INT
SET @badStr = '/ImageLibrary/GetImage.asp?liAssetID='
SET @goodStr = '/Assets/GetAsset.aspx?ItemID='
SET @lenBadStr = DATALENGTH(@badStr)
DECLARE irows CURSOR
LOCAL FORWARD_ONLY STATIC READ_ONLY FOR
SELECT liadvertid
FROM adverts
WHERE PATINDEX('%'+@badstr+'%', sadvertcontent)>0
OPEN irows
FETCH NEXT FROM irows INTO @curID
WHILE (@@FETCH_STATUS = 0)
BEGIN
BEGIN TRANSACTION
SELECT @txtPval = TEXTPTR(sadvertcontent) FROM adverts WHERE
liadvertid=@curID
SELECT @txtPidx = PATINDEX('%'+@badStr+'%', sadvertcontent)-1 FROM adverts
WHERE liadvertid=@curID
UPDATETEXT adverts.sadvertcontent @txtPval @txtPidx @lenbadStr
@goodStr
COMMIT TRANSACTION
FETCH NEXT FROM irows INTO @curID
END
CLOSE irows
DEALLOCATE irows
|
|