Неправильный синтаксис рядом с ключевым словом «set» вместе с пунктом

Я хранил логику процедуры, как показано ниже. я получил

Неверный синтаксис рядом с ключевым словом «set».

как ошибка, пожалуйста, предложите мне решение.

Declare @VAL int Declare @Region bigint drop table Tempqq Select * Into Tempqq From dbo.split(@SpokeFolderList, ',') while (Select Count(*) From Tempqq) > 0 begin Select Top 1 @VAL = Tempqq.val From Tempqq ;With MyCount AS ( Select DispatchToRegionId ,FolderNo, row_number() OVER(ORDER BY FolderNo DESC) as Row from tblTransite where FolderNo = @VAL group by DispatchToRegionId,FolderNo ) set @Region =( Select top 1 DispatchToRegionId from MyCount order by Row desc ) print @VAL Delete Tempqq Where Tempqq.val = @VAL end 

Попробуй это

 Declare @VAL int Declare @Region bigint drop table Tempqq Select * Into Tempqq From dbo.split(@SpokeFolderList, ',') while (Select Count(*) From Tempqq) > 0 begin Select Top 1 @VAL = Tempqq.val From Tempqq ;With MyCount AS ( Select DispatchToRegionId ,FolderNo, row_number() OVER(ORDER BY FolderNo DESC) as Row from tblTransite where FolderNo = @VAL group by DispatchToRegionId,FolderNo ) Select top 1 DispatchToRegionId into @Region from MyCount order by Row desc print @VAL Delete Tempqq Where Tempqq.val = @VAL end 

CTE больше похож на VIEW, а не на хранимую процедуру. Это не похоже на правильный синтаксис.

И Delete должно иметь ключевое слово From

Попробуй это

 Declare @VAL int Declare @Region bigint Drop table Tempqq Select * Into Tempqq From dbo.split(@SpokeFolderList, ',') While (Select Count(*) From Tempqq) > 0 Begin Select Top 1 @VAL = Tempqq.val From Tempqq ;With MyCount AS ( Select DispatchToRegionId ,FolderNo, row_number() OVER(ORDER BY FolderNo DESC) as Row From tblTransite where FolderNo = @VAL group by DispatchToRegionId,FolderNo ) Select @Region =(Select top 1 DispatchToRegionId from MyCount order by Row desc) Print @VAL Delete From Tempqq Where Tempqq.val = @VAL End 
Interesting Posts
Давайте будем гением компьютера.