新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Oracle调试过程中,怎么实时的看输出语句
成都创新互联公司-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、棕树数据中心、等保安全、私有云建设等企业级互联网基础服务,欢迎咨询:13518219792
右键,test(测试),然后F9,单步调试,可以在左下角的【变量】那输入你要查看的变量名称,【值】就是变量的内容。可以鼠标直接点击变量名,也可以看到变量的值。
假设输出变量为 nb_out;
在sql中: dbms_output.put_line (nb_out); 即可输出
这种过程想要看到输出值一般来说是用dbms_output包中的put_line来做的,在serverout 开启的情况下,这个会包中的函数会将查询的结果什么的,直接打印在屏幕上。
其他时间的查询结果只会在后台作为了一个过程量存在(这里查询语句中显示的1,就是一个过程量,当过程执行完,或者这个1传递完,那么这个1也就消失了),除非你将查询结果插入一张表内,这样的话你就能看见存储在那张插入表内的结果了,一般来说过程中的量是不会直接输出到屏幕上的。(如果是自定义函数有返回值,那么肯定是可以输出到屏幕上的)
当然还有一种情况能看到查询结果,那就是调试,调试过程的时候(其实就是一步一步的执行过程,有些工具是一行一行的),用工具能看到每一步的结果。
可用DBMS_OUTPUT.PUT_LINE()对存储过程的进行输出。
编写存储过程:
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;
扩展资料;
存储在数据库的数据字典中,存储在当前的应用中安全性由数据库提供安全保证,必须通过授权才能使用存储子程序,安全性靠应用程序来保证,如果能执行应用程序,就能执行该子程序。模式描述IN参数用来从调用环境中向存储过程传递值,不能给IN参数赋值,给此参数传递的值可以是常量、有值的变量、表达式等。
参考资料来源:百度百科-Oracle存储过程
可以使用DBMS_OUTPUT包输出,如:
DBMS_OUTPUT.PUT_LINE('Hello World!');
存储过程直接打印Create or replace procedure Sel is AA date;beginSelect sysdate into AA from dual;dbms_output.put_line(AA);end;变量返回Create or replace procedure Sel (AA out date)isbeginSelect sysdate into AA from dual;end;/set serverout on declare v_aa date; begin sel (v_aa); dbms_output.put_line(v_aa); end;