SQL>   set   serverout   on   
  SQL>   dbms_output.put_line('1234')   
  SP2-0734:   未知的命令开头   "dbms_outpu..."   -   忽略了剩余的行。   
  SQL>   dbms_output.put_line('1234');   
  SP2-0734:   未知的命令开头   "dbms_outpu..."   -   忽略了剩余的行。   
/??为什么我的这个命令就过不了,看教程上都是这么写的,
环境:
oracle 10g 
winxp

解决方案 »

  1.   

    是不是应该加个     exec  dbms_output.put_line('1234');才行啊
      

  2.   

    单独执行,可以,但是放到begin  end里就不行了。如下:
    SQL> begin 
      2  exec dbms_output.put_line('ass');
      3  end;
      4  /
    exec dbms_output.put_line('ass');
         *
    第 2 行出现错误:
    ORA-06550: 第 2 行, 第 6 列:
    PLS-00103: 出现符号 "DBMS_OUTPUT"在需要下列之一时:
    := . ( @ % ;
    符号 ":=" 被替换为 "DBMS_OUTPUT" 后继续。
    SQL> exec dbms_output.put_line('as');
    asPL/SQL 过程已成功完成。SQL> 
      

  3.   

    应该用语句块,如下
    [code=SQL]
    SQL> set serverout on   
    SQL> begin
      2  dbms_output.put_line('1234') ;
      3  end;
      4  /
    1234PL/SQL 过程已成功完成。[code]
      

  4.   

    --
    SQL> declare 
      2    v_ename varchar2(20);
      3  begin
      4    select ename into v_ename from emp where empno = '&no';
      5    begin
      6      dbms_output.put_line('员工:'||v_ename);
      7     end;
      8  exception 
      9    when no_data_found then 
     10    begin
     11         dbms_output.put_line('请输入正确的员工号');
     12    end;
     13  end;
     14  /
    输入 no 的值:  212
    原值    4:   select ename into v_ename from emp where empno = '&no';
    新值    4:   select ename into v_ename from emp where empno = '212';
    员工:121PL/SQL 过程已成功完成。
    可以了,谢谢,结帖去。
      

  5.   

    你是最基本的还没有搞明白
    PL/SQL里面的东西和SQL*PLUS的客户端指令是两码事
    exec procedure  是SQL*PLUS的,你竟然放到begin .... end...中??
    任何PL/SQL必须有块的,你却直接写了dbms_output.put_line.DINGJUN123>set serveroutput on
    DINGJUN123>exec dbms_output.put_line('hello');
    helloPL/SQL 过程已成功完成。上面的不需要块,因为它是SQL*PLUS指令,其实内部还是begin ... end的,然后把结果信息返回到屏幕上