oracle中,在存储过程返回数据集;返回游标的时候报错:PLS-00103: 出现符号 "CREATE";这是什么问题呢?SQL如下:CREATE OR REPLACE PACKAGE TESTPACKAGE AS
TYPE TEST_CURSOR IS REF CURSOR;
END TESTPACKAGE;CREATE OR REPLACE PROCEDURE TEST1 ( TEST_CUSROR OUT TESTPACKAGE.TEST_CURSOR) AS
BEGIN
OPEN TEST_CURSOR FOR SELECT * FROM test_table;
END TEST1;
TYPE TEST_CURSOR IS REF CURSOR;
END TESTPACKAGE;CREATE OR REPLACE PROCEDURE TEST1 ( TEST_CUSROR OUT TESTPACKAGE.TEST_CURSOR) AS
BEGIN
OPEN TEST_CURSOR FOR SELECT * FROM test_table;
END TEST1;
解决方案 »
- oralce 的clob类型的字段怎么实现精确查询?
- 要完成这个功能,SQL语句该怎么写?
- 关于SQL用join的问题,困扰了我很久了,请高手帮助
- 查询一个时间段表中没有的小时记录
- SID 的问题---值得一看
- 菜鸟问题。.dmp文件如何导入数据库
- 帮忙转换成plsql的,急用,调试通过马上给分,感激万分
- 我用utl_file写文件,中文乱码
- 问一个关于产品的组成部分的数据库问题
- 求助 oracle oDBC DRIVER问题 转储不成功
- 请问 ORA-01427: 单行子查询返回多个行 这个错误是如何解决呢?
- ORA-02070:数据库DB_SQL不支持此上下文中的update —— 从Oracle 通过 DB_LINK 更改 Sql Server 数据的时候出现这个问题,请问咋整?
所以你的PROCEDURE具体实现代码在被包含在PACKAGE BODY里面。
BEGIN
OPEN TEST_CURSOR FOR SELECT * FROM test_table;
END TEST1;
TYPE TEST_CURSOR IS REF CURSOR;
PROCEDURE TEST1 (TEST_CUSROR OUT SYS_REFCURSOR);
END TESTPACKAGE;CREATE OR REPLACE PACKAGE BODY TEST_PKG is
PROCEDURE TEST1 ( TEST_CUSROR OUT TESTPACKAGE.TEST_CURSOR) is
BEGIN
OPEN TEST_CURSOR FOR SELECT * FROM bi_request_sim_card;
END TEST1;
end TESTPACKAGE;
CREATE OR REPLACE PACKAGE TESTPACKAGE IS
TYPE TEST_CURSOR IS REF CURSOR;
PROCEDURE TEST1 (TEST_CUSROR OUT TEST_CURSOR);
END TESTPACKAGE;CREATE OR REPLACE PACKAGE BODY TESTPACKAGE IS
PROCEDURE TEST1 ( TEST_CUSROR OUT TEST_CURSOR) IS
BEGIN
OPEN TEST_CURSOR FOR SELECT * FROM bi_request_sim_card;
END TEST1;
end TESTPACKAGE;
SQL> CREATE OR REPLACE PACKAGE TESTPACKAGE IS
2 TYPE TEST_CURSOR IS REF CURSOR;
3 PROCEDURE TEST1 (V_CURSOR OUT TEST_CURSOR);
4 END TESTPACKAGE;
5 /Package createdSQL> CREATE OR REPLACE PACKAGE BODY TESTPACKAGE IS
2 PROCEDURE TEST1 (V_CURSOR OUT TEST_CURSOR) IS
3 BEGIN
4 OPEN V_CURSOR FOR SELECT * FROM bi_request_sim_card;
5 END TEST1;
6 end TESTPACKAGE;
7 /Package body created
-- 全选, F5
PACKAGE EMPLOYE 已编译
Errors: check compiler log-- SHOW ERROR的结果
10/1 PLS-00103: 出现符号 "CREATE" -- 分别F5
PACKAGE EMPLOYE 已编译PACKAGE BODY EMPLOYE 已编译