Неправильный синтаксис рядом с ключевым словом «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