这样得排序条件为什么不行呢?我都快要疯了!
我的存储过程如下:
CREATE OR REPLACE PACKAGE PageTest
is
type T_CURSOR is ref cursor;
Procedure Per_QuickPage
(
p_PageSize in number, --每页记录数
p_PageNo in number, --当前页码,从 1 开始
p_TableName in varchar2, --表名
p_SqlSelect in varchar2, --查询语句,含排序部分
p_order in varchar, --含排序部分
p_OutRecordCount out number, --返回总记录数
p_OutCursor out T_CURSOR
);
end PageTest;
create or replace package body PageTest
is
procedure Per_QuickPage
(
p_PageSize in number, --每页记录数
p_PageNo in number, --当前页码,从 1 开始
p_TableName in varchar2, --表名
p_SqlSelect in varchar2, --查询语句,
p_order in varchar, --含排序部分
p_OutRecordCount out number,--返回总记录数
p_OutCursor out T_CURSOR
)
as
v_sql varchar2(3000);
v_count int;
v_heiRownum int;
v_lowRownum int;
begin
----取记录总数
if p_SqlSelect is not null then
v_sql := 'select count(*) from '|| p_TableName || ' '|| p_SqlSelect || ' '|| p_order ;
else
v_sql := 'select count(*) from '|| p_TableName|| ' '|| p_order ;
end if ;
execute immediate v_sql into v_count;
p_OutRecordCount := v_count;
----执行分页查询
v_heiRownum := p_PageNo * p_PageSize;
v_lowRownum := v_heiRownum - p_PageSize + 1;