引用楼主 john_huang 的帖子:
下面这个是我写的一个包:
CREATE OR REPLACE PACKAGE test.pkg_test IS type mycursor IS ref CURSOR;
PROCEDURE get_dec_bill_list(cur_out OUT mycursor);
END;
CREATE OR REPLACE PACKAGE BODY test.pkg_test IS PROCEDURE get_dec_bill_list(cur_out OUT mycursor) AS
BEGIN
OPEN cur_out FOR
SELECT *
FROM student;
END;
END;
如果用system用户,可以完成创建,但是我用自己建的一个用户ttt…
这里是schema的问题,你现在是用用户ttt在用户test下创建package,你需要具有
CREATE ANY PROCEDURE的系统权限,
grant create any procedure to ttt;
或者把这个package建在自己的schema下。
下面这个是我写的一个包:
CREATE OR REPLACE PACKAGE test.pkg_test IS type mycursor IS ref CURSOR;
PROCEDURE get_dec_bill_list(cur_out OUT mycursor);
END;
CREATE OR REPLACE PACKAGE BODY test.pkg_test IS PROCEDURE get_dec_bill_list(cur_out OUT mycursor) AS
BEGIN
OPEN cur_out FOR
SELECT *
FROM student;
END;
END;
如果用system用户,可以完成创建,但是我用自己建的一个用户ttt…
这里是schema的问题,你现在是用用户ttt在用户test下创建package,你需要具有
CREATE ANY PROCEDURE的系统权限,
grant create any procedure to ttt;
或者把这个package建在自己的schema下。