日期:2014-05-17  浏览次数:21108 次

在PL/sql和Dos中怎么测试Oracle存储过程是否能打出数据
代码如下:
  create or replace procedure dfff(n in number) as
  begin
  while n<9 loop
  dbms_output.put_line('a');
  exit;
  end loop;
  end dfff;

这么一个简单的存储过程,我要在pl/sql中,当我输入10 的时候能打印出a  



在DOS中怎么测试,知道的告诉一下哦!

------解决方案--------------------
SQL code
set serverout on
call dfff(10);
/

------解决方案--------------------
应该说在sqlplus下可以先执行set serveroutput on ,然后定义你存储过程的变量,然后执行就可以看到了。
------解决方案--------------------
在dos下可以使用sqlplus工具来执行
------解决方案--------------------
探讨
在DOS中怎么测试,知道的告诉一下哦!

------解决方案--------------------

create or replace procedure dfff(n in number) as
begin
while n<9 loop
dbms_output.put_line('a');
exit;
end loop;
end dfff;

当n小于9时才会输出‘a’,你输入10会输出吗??
还有就是你输入小于9的数字,在循环里面你说会怎么样!
------解决方案--------------------
我想知道的是你这写个循环顶啥用啊??就只要判断n是否小于9???那还不如直接写个if判断下呢?有必要写个循环??何况你这压根就没体现出这个循环的作用啊??
------解决方案--------------------
又一个数据库杀手,呵呵,别在生产环境下作类似实验!
------解决方案--------------------
探讨
代码如下:
create or replace procedure dfff(n in number) as
begin
while n<9 loop

dbms_output.put_line('a');
exit;
end loop;
end dfff;

这么一个简单的存储过程,我要在pl/sql中,当我输入10 的时候能打印出a



……