Я написал ниже хранимую процедуру, она работает хорошо, однако она не обновляет последнюю запись в строке. Есть идеи почему?
create procedure testProceduretwo
@vendorIds varchar(max)
as
declare @pos int
declare @vendor varchar(50)
set @pos = charindex(',', @vendorIds)
while @pos <> 0
begin
set @vendor = left(@vendorIds, @pos-1)
exec ('update DS_REGISTERED_VENDOR set ppu_flag=''Y'' where Vendor_Id = ' + @vendor + '')
print 'updated vendor id - ' + @vendor
set @vendorIds = stuff(@vendorIds, 1, @pos, NULL)
set @pos = charindex(',', @vendorIds)
end
exec ('update DS_REGISTERED_VENDOR set ppu_flag=''Y'' where Vendor_Id = ' + @vendor + '')
Я называю это так:
exec testProceduretwo '00072211,00000004,00120188,00000001'
Не обновляет значение для - 00000001 (последняя запись)