如何查看存储过程执行的结果

来源:百度知道 编辑:UC知道 时间:2024/05/30 19:40:01
存储过程如下:
create or replace procedure selectuser_byid
(
id number--这里面是参数
)
as
UserID number;
EMail varchar2(50);
PassWord varchar2(32);
AdminID number;
GroupID number;
begin
select EMail,PassWord,AdminID,GroupID into EMail,PassWord,AdminID,GroupID from users where UserID=id;
end;

执行存储过程:
PLSQL中:begin selectuser_byid(id); end;
CMD中: exec selectuser_byid(id);
提示执行成功,
请问要如何才能看到执行的结果????

你得前边变量里设置个输出变量,然后才能查询到输出的东西
譬如这个

set output on
DECLARE
TYPE mytable IS TABLE OF chengji%ROWTYPE;
cur_chengji sys_refcursor;
v_data mytable;

begin
open cur_chengji for
select xuehao, kemu, riqi, chengji from chengji;
FETCH cur_chengji BULK COLLECT INTO v_data;
close cur_chengji;

FOR i IN 1 .. v_data.COUNT
LOOP
DBMS_OUTPUT.put_line ( v_data (i).xuehao
|| ' was hired since '
|| v_data (i).riqi);

END LOOP;

end;
/

是在sqlplus里执行的
最后的DBMS_OUTPUT.put_line是输出的结果
你可以建个表chengji,包含字段xuehao, kemu, riqi, chengji
把上边结果运行一下,你就知道大概意思了

select EMail,PassWord,AdminID,GroupID into EMail,PassWord,AdminID,GroupID from users where UserID=id;
这里改一下
dbms_output.put_Line(EMail||' '||ord||' '||AdminID||' '||GroupID);
就可以看到了

end 前边再加一个查询语句就可以了吧