读书人

oracle创设存储过程 报错:pls-00103

发布时间: 2013-04-21 21:18:07 作者: rapoo

oracle创建存储过程 报错:pls-00103 : 出现符号 "create"


create or replace package PKG_Biz_Claim is
type type_cur is ref cursor; -- 定义游标变量返回记录集

procedure ClaimList
(
Pindex in number, --页码 从1开始
Pfield in varchar2, -- 查询字段
Psql in varchar2, --查询SQL语句
Psize in number , --每页记录数
PpageCount out number, --总页数
PRowCount out number, --总记录数
v_cur out type_cur --分页数据游标
);
end PKG_Biz_Claim;

Create or replace package body PKG_Biz_Claim is

procedure ClaimList
(
Pindex in number, --页码 从1开始
Pfield in varchar2, -- 查询字段
Psql in varchar2, --查询SQL语句
Psize in number , --每页记录数
PpageCount out number, --总页数
PRowCount out number, --总记录数
v_cur out type_cur --分页数据游标
) is

v_sql varchar2(2000);
v_Pstart number;
v_Pend number;

begin

-- 取记录总数
v_sql:= 'select count(1) from (' || Psql || ')';
execute immediate v_sql into PRowCount;

-- 当前页第一条
v_Pstart = (pindex -1)*Psize +1;
-- 当前页最后一条
v_Pend = Pindex * Psize;


v_sql := 'SELECT ' || Pfield || ' from
(SELECT ' || Pfield || ',rownum rn FROM( ' || Psql || ' ) WHERE rownum <= '|| to_char(v_Pend)||')WHERE rn >= ' || to_char(v_Pstart);


OPEN v_cur FOR v_sql;
end ClaimList;
end PKG_Biz_Claim;




包里都定义了存储过程 ,怎么还报错,指向 Create or replace package body PKG_Biz_Claim is 这一行 ? 求解答
[解决办法]
1 一次运行一句

2 在多句之间加/
[解决办法]
-- 当前页第一条
v_Pstart = (pindex -1)*Psize +1;
-- 当前页最后一条
v_Pend = Pindex * Psize;

这两句里应该是用(:=)而不是(=)

读书人网 >oracle

热点推荐