输出是dbms_output.put_line() 输出是什么?怎么实现?dbms_output.get_line() 不起作用,如下代码set serveroutput on;
declare
   name varchar2(20);
   state integer;
begin   
   dbms_output.get_line(name,state);   
   dbms_output.put_line(name);   
end;  
/运行结果是输出空行,过程成功完成。网上说可以用加&的方法做,我写了如下代码
declare
   name varchar2(20);
   myname varchar2(20);
begin   
   myname := &name;
   dbms_output.put_line(myname);   
end;  
/
运行出错我现在希望达到的效果,就是要求用户在plsql终端上输入数据,保存到变量里,在用put_line显示出来。应该怎么做?希望有运行成功的示例代码。谢谢!

解决方案 »

  1.   

    SQL> set serveroutput on;
    SQL> declare
      2  begin
      3      dbms_output.put_line('&name');
      4  end;
      5  /
    Enter value for name: yourname
    old   3:     dbms_output.put_line('&name');
    new   3:     dbms_output.put_line('yourname');
    yourname  --这里进行了输出PL/SQL procedure successfully completed.SQL>
      

  2.   

    我把它改成这样,可以正常运行了。
    declare
      v_name varchar2(20);
    begin
      v_name := '&name';
      dbms_output.put_line('姓名是'||v_name);
    end;
    /这段代码中'&name'   是什么意思?
      

  3.   

    &name代表一个引用变量
    所以在输出的时候ORACLE会提示你输入这个引用变量的值
      

  4.   

    http://blog.csdn.net/wh62592855/archive/2009/11/06/4778343.aspxORACLE中一些变量的使用方法可以参见上面的文章
    你说的这个&在文章的下面快到结尾处