SQL> CREATE OR REPLACE PROCEDURE selectemp( 2 emp_mon OUT SYS_REFCURSOR 3 ) 4 IS 5 BEGIN 6 OPEN emp_mon FOR SELECT ename,sal FROM employee; 7 END; 8 /
过程已创建。
SQL> SET SERVEROUTPUT ON SQL> DECLARE 2 CURSOR emp_o SYS_REFCURSOR; 3 BEGIN 4 selectemp(emp_o); 5 FOR e IN emp_o LOOP 6 DBMS_OUTPUT.PUT_LINE('员工姓名:'||e.ename||'员工薪水:'||e.sal); 7 END LOOP; 8 END; 9 / CURSOR emp_o SYS_REFCURSOR; * 第 2 行出现错误: ORA-06550: 第 2 行, 第 17 列: PLS-00103: 出现符号 "SYS_REFCURSOR"在需要下列之一时: ( ; is return 符号 "return" 被替换为 "SYS_REFCURSOR" 后继续。
最新回答
花朵之蓝
2024-09-23 00:39:47
你的意思是不是要获取到“当前用户:user_id”这个的内容,如果是,两个方式可以解决: 1.通过存储过程的出参,将“当前用户:user_id”连接串返回; 比如: 假设你的过程叫,prc_test,在参数列表中增加出参。 create or replace procedure prc_test(入参 in 类型, 出参 out 类型) is begin -- 逻辑实现 end; 出参就是你要把内容放进去,用来传值的变量。 2.在过程中保存一张临时表,然后在java中查出这个临时表中保存的数据。 定义临时表table_temp 在过程中 insert into table_temp(msg) values ('当前用户:' || user_id);