Точките на прекъсване не съвпадат с кодовия ред при отстраняване на грешки в SQL Server 2008 R2. Понякога, когато достигнете точките на прекъсване, но не изпълнявате правилния кодов ред. Как да го поправя?
declare @SharedTable table(Num int,Name nvarchar(50))
Insert into @SharedTable(Num,Name) values('27149','Vader')
declare @numShared int=0;
select @numShared = COUNT(Num) from @SharedTable
declare @idx_Shared int =1
while @idx_Shared<=@numShared
begin
declare @Num int;declare @Name nvarchar(50)
select @Name=Name,@Num=Num from @SharedTable
declare @AllSharers nvarchar(max)=''
set @AllSharers+=('Num:'+Cast(@Num as nvarchar)+' '+'Name:'+@Name+CHAR(10))
set @idx_Shared+=1
end
print @AllSharers;
Много просто копие на код от моята заявка. Всеки път, когато указателят за отстраняване на грешки премине към ред select @Name=Name,@Num=Num from @SharedTable
, той ще игнорира кода по-долу в цикъла „while“ и оттогава нататък целият код по-долу и точките на прекъсване започват да не съвпадат.
Копирайте го в нова заявка, проблемите все още са там, но въведете същото съдържание в нова заявка, проблемът изчезна.