SQL Serverの一部のレコードを更新する必要があります。実際には、文字列の一部を削除して同じレコードを更新する必要があります。私は、次のことをやった:Transact-SQL:文字列の一部を更新する方法
USE [BRAZIL]
DECLARE @PRODUCTDESCRIPTION nvarchar(max);
DECLARE @MERDA nvarchar(max);
DECLARE @CONTADOR Int;
DECLARE C CURSOR READ_ONLY FOR
SELECT DISTINCT Id
FROM ProductVariant
OPEN C
FETCH NEXT FROM C INTO @CONTADOR
WHILE (@@FETCH_STATUS = 0)
BEGIN
SET @PRODUCTDESCRIPTION = (SELECT Description
FROM ProductVariant
WHERE ID = @CONTADOR);
IF CHARINDEX('This Should be Removed', @PRODUCTDESCRIPTION) > 0
BEGIN
SET @MER = (SELECT SUBSTRING(@PRODUCTDESCRIPTION, 0, CHARINDEX('This Should be Removed', @PRODUCTDESCRIPTION)));
UPDATE ProductVariant
SET Description = @MER
END
SET @PRODUCTDESCRIPTION = '';
FETCH NEXT FROM C INTO @CONTADOR
END
CLOSE C
DEALLOCATE C
'This Should be Removed'
何もテーブルの上に起こらないパターンを満たすレコードがない場合。これは素晴らしい。しかし、'This Should be Removed'
を持つレコードが1つしかない場合、他のレコードはすべてこのレコードと同じ値で更新されます。
誰かが私を助けることができますか?私は間違って何をしていますか?