代码如下:
    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中怎么测试,知道的告诉一下哦!

解决方案 »

  1.   

    set serverout on
    call dfff(10);
    /
      

  2.   

    应该说在sqlplus下可以先执行set serveroutput on ,然后定义你存储过程的变量,然后执行就可以看到了。
      

  3.   

    在dos下可以使用sqlplus工具来执行
      

  4.   

    dos窗口sqlplus连到数据库之后。执行:
    SQL> set serveroutput on;
    SQL> call dfff(10);
    SQL> /
    就OK了。
      

  5.   


      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的数字,在循环里面你说会怎么样!
      

  6.   

    我想知道的是你这写个循环顶啥用啊??就只要判断n是否小于9???那还不如直接写个if判断下呢?有必要写个循环??何况你这压根就没体现出这个循环的作用啊??
      

  7.   

    我是新手 让各位见笑了 还有一个问题 如果参数的是游标呢?   type typeId is ref cursor  这样怎么调用呢?
      

  8.   


    begin
    diff(10);
    end;  create or replace procedure dfff(n in number) as
      begin
      while n<9 loop  dbms_output.put_line('a');
      exit;
      end loop;
      end dfff;
    这个上面有问题,你输入的是10 但N<9 明显的错误,如果想输入10 
    那么在while循环中写上一个n--;
    就可以实现你的目的