ql 서버 페이지 저장 프로세스
create procedure dbo.proc_getpage
@table_name varchar(500), -- , :tablea a left join tableb b on a.id=b.fk_id
@select_fields varchar(1000)=' * ', --
@page_size int=10, -- , 0 ,
@page_index int=1, --
@sort_field varchar(50)='', --
@order_type varchar(10)='desc', -- , asc|desc
@str_where varchar(max)='', -- ( : where)
@row_count int output --
as
begin
declare @select_sql varchar(max) --
declare @count_sql nvarchar(max) --
declare @order_sql varchar(400) --
if(@str_where!='')
begin
set @count_sql=N'select @rowcount=count(*) from ' + @table_name + N' where ' + @str_where
end
else
begin
set @count_sql=N'select @rowcount=count(*) from ' + @table_name
end
set @order_sql=' order by ' + @sort_field + ' ' + @order_type
if(@page_size=0)
begin
if(@str_where!='')
begin
set @select_sql='select ' + @select_fields + ' from ' + @table_name + ' where ' + @str_where + ' ' + @order_sql
end
else
begin
set @select_sql='select ' + @select_fields + ' from ' + @table_name + ' ' + @order_sql
end
end
else
begin
set @select_sql='select * from (select row_number() over(' + @order_sql + ') as row_no,' + @select_fields + ' from ' + @table_name
if(@str_where!='')
begin
set @select_sql+=' where ' + @str_where
end
set @select_sql+=') as temp where row_no between ' + cast(((@page_index-1)*@page_size+1) as varchar) + ' and ' + cast((@page_index*@page_size) as varchar)
end
exec sp_executesql @count_sql,N'@rowcount int output',@row_count output
exec(@select_sql)
end
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.