Пытается создать Хранимую процедуру, которая даст нужный номер. записей, а также общее количество. записей в этой таблице.Сохраненная процедура с параметром вывода
Часть '@Query' дает результат, когда я выполняю его отдельно. Поэтому нет проблем с этим. Может кто-нибудь, пожалуйста, проверьте правильность синтаксиса, потому что я не получаю никакого результата.
ALTER PROCEDURE GetRecordsByPage
(
@TableName nvarchar(50),
@ColumnName nvarchar(50),
@OrderByClause nvarchar(50),
@StartIndex nvarchar(50),
@EndIndex nvarchar(50),
@TotalRows nvarchar(50) output
)
AS
BEGIN
DECLARE @Query nvarchar(max)
select @Query = 'select '[email protected]+' = count(*) from '[email protected]+'
where deleted=0
with temp as (select row_number() over (order by '+
@colname+' '[email protected]+') as row, * from '[email protected]+')
select * from temp where row between '[email protected]+' and '
[email protected]
execute sp_executesql @Query, @TotalRows output
END
--is this correct, to test this stored procedure
-- execute GetRecordsByPage 'tblBranch','BranchName', '2', '10'
В противном случае запросы будут:
select count(*) from tblBranch;
With temp as
(select row_number over(order by name desc) as row, * from tblbranch)
select * from temp where row between 11 and 20;
вы назначаете Int к @TotalRows который имеет тип NVARCHAR –
Если присваивание переменной 'NVARCHAR', вы должны использовать' N '...' ', чтобы указать Unicode. Далее: вы ** должны ** поставить точку с запятой (';') перед ключевым словом 'with'. –
написать запрос, например select @Query = 'select count (*) .... –