0
I "While .. fetch next"中にテンポラリテーブルを更新する 問題は、カーソルが次の行をフェッチするときにテンポラリテーブルが更新されないテンポラリテーブルは各行のデータの代わりに最終行のデータで更新されます。 シモンズ:私は非常によく英語を話すことはありません、私はあなたが仕事をするため、カーソルを必要としない私の要求行をフェッチするときにテンポラリテーブルをコミットする
DECLARE @IdType UNIQUEIDENTIFIER
DECLARE @SerialNumber NVARCHAR(64)
DECLARE DeviceCursor CURSOR LOCAL FOR
SELECT DISTINCT
--Acc.[AccountHierarchyId],
MC.SerialNumber AS SerialNumber,
MC.IdType AS IdType
FROM
@MachinesContrat MC
WHERE
MC.TypeAffaire = 'Essentiel'
OPEN DeviceCursor
FETCH NEXT FROM DeviceCursor INTO @SerialNumber, @IdType
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE
MI SET MI.SerialNumber = @SerialNumber
FROM
@MachinesInventory MI
WHERE
MI.fk_IdType = @IdType AND isnull(MI.SerialNumber,'Dummy') <> @SerialNumber
FETCH NEXT FROM DeviceCursor INTO @SerialNumber, @IdType
END
CLOSE DeviceCursor;
DEALLOCATE DeviceCursor;
更新前後の表の内容を示すサンプルデータを追加することは可能ですか?また、テーブルに更新後の内容を追加することもできますか? –