Доброго всем
Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64)
Jun 17 2016 19:14:09
Copyright (c) Microsoft Corporation
Developer Edition (64-bit) on Windows NT 6.3 <X64> (Build 14393: )
А теперь фокус
Подскажите, каким макаром оно может попасть в IF @@ROWCOUNT = 0?
Это баг? Кто нибудь его репортал уже?
SELECT @@VERSION
Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64)
Jun 17 2016 19:14:09
Copyright (c) Microsoft Corporation
Developer Edition (64-bit) on Windows NT 6.3 <X64> (Build 14393: )
А теперь фокус
DECLARE @NewID UNIQUEIDENTIFIER = NEWID() DECLARE @T TABLE (PK INT PRIMARY KEY, ID UNIQUEIDENTIFIER) INSERT INTO @T VALUES(1, NULL) WHILE 1 = 1 BEGIN UPDATE @T SET ID = @NewID WHERE PK = 1 AND ISNULL(ID, NEWID()) <> @NewID IF @@ROWCOUNT = 0 BEGIN SELECT 'WTF', *, @NewID FROM @T WHERE PK = 1 BREAK END UPDATE @T SET ID = NULL WHERE PK = 1 END
Подскажите, каким макаром оно может попасть в IF @@ROWCOUNT = 0?
Это баг? Кто нибудь его репортал уже?