SQL> var lc_employ char;
SQL> exec:lc_employ:=custmaxid;
BEGIN :lc_employ:=custmaxid; END;*
ERROR 位于第 1 行:
ORA-06502: PL/SQL: 数字或值错误 :  字符串缓冲区太小
ORA-06512: 在"SYSTEM.CUSTMAXID", line 6
ORA-06512: 在line 1

解决方案 »

  1.   

    SQL>  create or replace function custmaxid return char
      2   is
      3   lc_id varchar2(10);
      4   lcemp_id varchar2(10);
      5   begin
      6   select EMPLOYEE_ID into lcemp_id from customer where customer_id='SAL' ;
      7   RETURN lcemp_id;
      8  end;
      9  /函数已创建。
    SQL> declare lc_employ varchar2(10);
      2   begin
      3   lc_employ:=custmaxid;
      4   dbms_output.put_line(lc_employ);
      5   end;
      6  /
    11APL/SQL 过程已成功完成。