在模式scott.可以试验一下:
set serveroutput on
declare 
v_dname varchar(20);
begin
select dname into v_dname from dept where deptno=&n;
EXCEPTION 
WHEN NO_DATA_FOUND THEN
    DBMS_OUTPUT.PUT_LINE('NO DATA_FOUND');
    WHEN TOO_MANY_ROWS THEN
    DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS');
     WHEN OTHERS   THEN
    DBMS_OUTPUT.PUT_LINE('OTHER ERROR');
end;
/

解决方案 »

  1.   

    问一句 :在模式scott.可以试验一下 -----------
    模式scott. 是什么东西?
      

  2.   

    用scott用户连接,因为上面的表dept是scott.用户的。
    密码是tiger可以不用scott登陆
    我改了一下:
    set serveroutput on
    declare 
    v_dname varchar(20);
    begin
    select dname into v_dname from scott.dept where deptno=&n;
    EXCEPTION 
    WHEN NO_DATA_FOUND THEN
        DBMS_OUTPUT.PUT_LINE('NO DATA_FOUND');
        WHEN TOO_MANY_ROWS THEN
        DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS');
         WHEN OTHERS   THEN
        DBMS_OUTPUT.PUT_LINE('OTHER ERROR');
    end;
    /
      

  3.   

    我写在存储过程中, 
    报错啊,请问应该放在什么位置? set serveroutput on
     (read_Date in varchar2 ,Date_d in varchar2)
    as...
     然后编译就出错,我该怎么写呢?
      

  4.   

    set serveroutput on
    create procedure pro_a ( v_deptno int)
    isv_dname varchar(20);
    begin
    select dname into v_dname from scott.dept where deptno=v_deptno;
    EXCEPTION 
    WHEN NO_DATA_FOUND THEN
        DBMS_OUTPUT.PUT_LINE('NO DATA_FOUND');
        WHEN TOO_MANY_ROWS THEN
        DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS');
         WHEN OTHERS   THEN
        DBMS_OUTPUT.PUT_LINE('OTHER ERROR');
    end;exec pro_a(20);
      

  5.   

    set serveroutput on
    create procedure pro_a ( v_deptno int)
    is
    ....
    我这样写了, 可是编译的时候就报错了, 究竟该怎么办呢?
      

  6.   

    show error 查看出现了什么错误。create procedure pro_a ( v_deptno int)
    isv_dname varchar(20);
    begin
    select dname into v_dname from scott.dept where deptno=v_deptno;
    EXCEPTION 
    WHEN NO_DATA_FOUND THEN
        DBMS_OUTPUT.PUT_LINE('NO DATA_FOUND');
        WHEN TOO_MANY_ROWS THEN
        DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS');
         WHEN OTHERS   THEN
        DBMS_OUTPUT.PUT_LINE('OTHER ERROR');
    end;