create or replace
procedure     proc_ndays_aa  as  begin 
insert into tb_s_ndays_deliver_ratio(mailtype)
select
        substr('', -2) 
from tb_q_mail_key_info a
;
commit;
end; 

解决方案 »

  1.   

    substr('', -2) 
    这是什么意思..
      

  2.   


    不是问这个,是说里面用的怎么是空值
    这个应该是类型匹配问题
    substr('', -2) 和tb_s_ndays_deliver_ratio(mailtype) 
    类型要保持一致
      

  3.   

    create or replace
    procedure     proc_ndays_aa  as  begin 
    insert into tb_s_ndays_deliver_ratio(mailtype)
    select
            substr(' ', -2) 
    from tb_q_mail_key_info a
    ;
    commit;
    end; 
      

  4.   

    create or replace 
    procedure    proc_ndays_aa  as  begin 
    insert into tb_s_ndays_deliver_ratio(mailtype) 
    select 
            substr('', -2) 
    from tb_q_mail_key_info a 

    commit; 
    end proc_ndays_aa;  --少了proc_ndays_aa
      

  5.   


    substr('', -2) 返回应该是null,insert into tb_s_ndays_deliver_ratio(mailtype) 这里结果会不会有影响呀。这里的warning是什么信息
      

  6.   

    这个' '符号在oracle中应该被当做null对待了。而对null进行substr操作,不知道是否正确。