PROCEDURE initOneProbationaryThesaurus(orderid NUMBER) is
    PORTAL_SUCCESS_FLAG NUMBER := 1; --成功标志位
    dtableodd  varchar2(1000);
    dtableeven  varchar2(1000);
    ctableodd  varchar2(1000);
    ctableeven  varchar2(1000);
  begin
      dtableodd := 'delete zt_order_term_even';
      dtableeven := 'delete zt_order_term_odd';
      ctableodd := 'insert into zt_order_term_even as
        SELECT * FROM (
        select rownum rn,temp.* from (
              select  wrs.order_id,qs.busi_term term from ZT_ORDER_QUESTION_SUMMARY qs,zt_working_order wrs
              where qs.order_id = wrs.order_id
              and wrs.order_id = '+orderid+'
              ) temp  ) tt
           where mod(tt.rn, 2) = 0;'; 
      ctableeven := 'insert into zt_order_term_odd as  
        SELECT * FROM (
        select rownum rn,temp.* from (
             select  wrs.order_id,qs.busi_term term from ZT_ORDER_QUESTION_SUMMARY qs,zt_working_order wrs
              where qs.order_id = wrs.order_id
              and wrs.order_id = '+orderid+'
              ) temp  ) tt
           where mod(tt.rn, 2) = 1;';
      execute  immediate  dtableodd;
      execute  immediate  dtableeven;
      execute  immediate  ctableodd;
      execute  immediate  ctableeven;
    commit;
end
执行:
call init_data.initOneProbationaryThesaurus(85372)
调用后报错...
开始执行命令时出错:
call init_data.initOneProbationaryThesaurus(85372)
错误报告:
SQL 错误: ORA-06502: PL/SQL: 数字或值错误 :  字符到数值的转换错误
ORA-06512: 在 "YEWUSHITU.INIT_DATA", line 444
06502. 00000 -  "PL/SQL: numeric or value error%s"
*Cause:    444行是:call init_data.initOneProbationaryThesaurus(85372)