create or replace package pack_base
as
type ref_cursor is ref cursor;
function func_format_sql
(
p_sql varchar2,
p_pageSize number,
p_curPage number,
p_type number
)
return varchar2;
end;
/ --这行报错
create or replace package body pack_base
as
function func_format_sql
(
p_sql varchar2,
p_pageSize number,
p_curPage number,
p_type number
)
return varchar2 as
v_sql varchar2(1024);
v_a number;
v_b number;
begin
v_sql:=P_sql;
if(p_type=0) then
v_sql := 'select count(*) totalRecord from (' || p_sql || ')';
else
v_a:=p_curPage * p_pageSize;
v_b:=(p_curPage -1)* p_pageSize;
v_sql:='select * from (select t1.*,rownum rownum_ from('|| v_sql ||') t1 where rownum <= '|| v_a ||' ) t2 where rownum_>' || v_b;
end if;
return v_sql;
end;
end;
/哪里错了???
as
type ref_cursor is ref cursor;
function func_format_sql
(
p_sql varchar2,
p_pageSize number,
p_curPage number,
p_type number
)
return varchar2;
end;
/ --这行报错
create or replace package body pack_base
as
function func_format_sql
(
p_sql varchar2,
p_pageSize number,
p_curPage number,
p_type number
)
return varchar2 as
v_sql varchar2(1024);
v_a number;
v_b number;
begin
v_sql:=P_sql;
if(p_type=0) then
v_sql := 'select count(*) totalRecord from (' || p_sql || ')';
else
v_a:=p_curPage * p_pageSize;
v_b:=(p_curPage -1)* p_pageSize;
v_sql:='select * from (select t1.*,rownum rownum_ from('|| v_sql ||') t1 where rownum <= '|| v_a ||' ) t2 where rownum_>' || v_b;
end if;
return v_sql;
end;
end;
/哪里错了???
刚接触orcale不久
原来这样!!
尴尬。。