CREATE OR REPLACE PACKAGE pkg_Page
AS
TYPE myrctype IS REF CURSOR; PROCEDURE Page (v_TableName varchar2(50), --表名
v_Fields varchar2(1000) := '*', --字段名(全部字段为*)
v_OrderField varchar2(1000), --排序字段(必须!支持多字段)
v_sqlWhere varchar2(1000),--条件语句(不用加where)
v_pageSize number, --每页多少条记录
v_pageIndex number = 1 , --指定当前为第几页
v_TotalPage out number,
p_rc OUT myrctype);
END pkg_Page;
/
警告:创建包带有编译时错误。
AS
TYPE myrctype IS REF CURSOR; PROCEDURE Page (v_TableName varchar2(50), --表名
v_Fields varchar2(1000) := '*', --字段名(全部字段为*)
v_OrderField varchar2(1000), --排序字段(必须!支持多字段)
v_sqlWhere varchar2(1000),--条件语句(不用加where)
v_pageSize number, --每页多少条记录
v_pageIndex number = 1 , --指定当前为第几页
v_TotalPage out number,
p_rc OUT myrctype);
END pkg_Page;
/
警告:创建包带有编译时错误。
给你改过来了,你看一下:
CREATE OR REPLACE PACKAGE pkg_Page
AS
TYPE myrctype IS REF CURSOR; PROCEDURE Page (v_TableName VARCHAR2,
v_Fields VARCHAR2 := '*',
v_OrderField VARCHAR2,
v_sqlWhere VARCHAR2,
v_pageSize number,
v_pageIndex number := 1 ,
v_TotalPage out number,
p_rc OUT myrctype);
END pkg_Page;
v_pageIndex number = 1 , --指定当前为第几页
这一行你赋值错误了 应该是 v_pageIndex number := 1 ,
SQL> show errors;
PACKAGE PKG_PAGE 出现错误:LINE/COL ERROR
-------- -----------------------------------------------------------------
5/46 PLS-00103: 出现符号 "("在需要下列之一时:
:= . ) , @ % default
character
符号 ":=" 被替换为 "(" 后继续。6/43 PLS-00103: 出现符号 "("在需要下列之一时:
:= . ) , @ % default
character我装的是Oracle9i,有没有英文版的SQL*Plus?
2. 给默认值是 :=,v_pageIndex 有错这两个地方改了就没问题了
CREATE OR REPLACE PACKAGE pkg_Page
AS
TYPE myrctype IS REF CURSOR; PROCEDURE Page (v_TableName varchar2, --表名
v_Fields varchar2 := '*', --字段名(全部字段为*)
v_OrderField varchar2, --排序字段(必须!支持多字段)
v_sqlWhere varchar2,--条件语句(不用加where)
v_pageSize number, --每页多少条记录
v_pageIndex number := 1 , --指定当前为第几页
v_TotalPage out number,
p_rc OUT myrctype);
END pkg_Page;oracle的参数是不用定义长度的。当然:= 1也是不能写成=1的。