java如何获取oracle存储过程里的dbms_output.put_line()内容; 现在不方便改成游标。。

如题。dbms_output.put_line('当前用户:' || user_id);
有没有什么方法??直接获取输出的内容。我不会,没用过。
不会就不要来回答嘛!!!你不清楚你还打那三个字!让我空欢喜一场,我还以为谁来解决了!

你的意思是不是要获取到“当前用户: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);
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-29
推荐你找JDBC的API看一下

java如何获取oracle存储过程里的dbms_output.put_line()内容...
1.通过存储过程的出参,将“当前用户:user_id”连接串返回;比如:假设你的过程叫,prc_test,在参数列表中增加出参。create or replace procedure prc_test(入参 in 类型, 出参 out 类型) is begin -- 逻辑实现 end;出参就是你要把内容放进去,用来传值的变量。2.在过程中保存一张临时表,...

存储过程的dbms_output.put_line问题
2 -- 定义游标.3 CURSOR c_test_main IS 4 SELECT id, value FROM test_main;5 BEGIN 6 FOR test_rec IN c_test_main 7 LOOP 8 dbms_output.put_line(test_rec.value);9 END LOOP;10 END;11 \/ ONE TWO THREE PL\/SQL 过程已成功完成。上面这个例子, 查...

oracle存储过程如何输出信息
编写存储过程:create or replace procedure test_pro(in_num number)as M number;begin M := in_num;if 0 < M then dbms_output.put_line('输出SQL语句1');elsif M < 3 then dbms_output.put_line('输出SQL语句2');else dbms_output.put_line('nothing');end if;end;...

求一条简单的oracle查询存储过程
1、首先你的查询存储过程是有问题的 【user_telephone:='p_user_login_name'】改成 【user_telephone=p_user_login_name】,【aa varchar2】后面加一个【;】。再加一个打印语句即可:dbms_output.put_line(aa);[注意想看到打印结果必须 set serveroutput on]原因:【:=】是赋值符号。【p_user_lo...

oracle存储过程游标使用疑问
你第一个存储过程可以这样写:create or replace procedure d_1 is begin for cur in (select * from t_t) ---这个cur是隐式游标,无需定义,直接使用。loop dbms_output.put_line(cur.name);end loop;end;\/ 2、使用的是标准的显式游标 a 定义游标---Cursor [Cursor Name] IS;b ...

oracle 定义存储过程的时候,能不能循环定义多个游标?
dbms_output.put_line(zw||' '||tt);fetch cur into zw,tt;end loop;end;每次通过改变str的值,来改变select语句,从而改变游标。至于循环游标就是这样:open cur for str; --打开游标 dbms_output.put_line('每个职位的工资总和:');fetch cur into zw,tt;while cur%found loop -- ...

oracle存储过程 游标和动态赋值问题
AS BEGIN open ref_cur for SELECT leixing FROM diaobodan;end t_ts;调用:declare s_cur SYS_REFCURSOR;v_leixing varchar2(100);begin t_ts(s_cur);loop fetch s_cur into vv_name;exit when s_cur%notfound;dbms_output.put_line(v_leixing);end loop;end;是这个意思吗?

oracle存储过程中使用游标作为out类型参数,求救!
1、你定义的【RET_CURSOR_VALUE】是一个光标变量,当他作为参数传入过程【GET_EMPINFOBYDEPNO】时候已经被打开(就是open...for),在主程序中再度打开是没有必要的也是错误的(且光标变量只能用【open...for】的形式打开)。2、所以把【OPEN RET_CURSOR_VALUE】这句话删掉,就没有问题了。口说无...

Oracle存储过程游标for循环怎么写
Dbms_Output.put_line(temp.Code); --输出某个字段,使用"变量名.列名"即可。end loop;--游标for循环结束 end test_proc;4 测试运行,点击【DBMS Output】标签页查看结果如下图:END 二、带参数的游标for循环 1 定义带参数的游标:cursor cur(v_codetype ldcode.Codetype%TYPE) is select * ...

求oracle存储过程,同时删除两张表中的id相同的数据
1.创建临时表(或者创建个表也可以,用一次删一次)即中间表。2.取出两个表相同的ID记录,将ID插入中间表 3.对应中间表中的id,删险两表中的记录。4.清除中间表 方法二(要用游标、变量):1.建立游标,用游标取出两表相同ID记录,将ID放入变量。2.通过Loop,根每一个ID的变量对到删除两表中的...

相似回答