本帖最后由 huis 于 2010-01-12 13:16:00 编辑

解决方案 »

  1.   

    CREATE OR REPLACE PROCEDURE UP_CA_TASK_LIST_ADD 

    OUT_VAR_in VARCHAR2, 
    OUT_EXPRESSION_in VARCHAR2, 
    LOCAL_VAR_in VARCHAR2, 
    GROUP_ID_in  Varchar2, 
    INS_GUID_in Varchar2, 
    CM_ID_in VARCHAR2, 
    TL_TIME_in DATE, 
    CHECK_OBJ_ID_in Varchar2, 
    BATCH_ID_in Varchar2, 
    IS_SAVE_in Number, 
    SAVE_PLACE_in Number, 
    STATIC_TIME_in Date 

    As 
    out_var_1 Varchar2(4000); 
    Begin If OUT_VAR_in Is Null Then 
    out_var_1:=' '; Else out_var_1:=OUT_VAR_in; End If;   INSERT INTO CA_TASK_LIST 
      ( 
      OUT_VAR 
      ,OUT_EXPRESSION 
      ,LOCAL_VAR 
      ,GROUP_ID 
      ,INS_GUID 
      ,CM_ID 
      ,CHECK_OBJ_ID 
      ,TL_TIME, 
      BATCH_ID, 
      IS_SAVE, 
      SAVE_PLACE, 
      STATIC_TIME) 
      Values( 
      out_var_1 ,OUT_EXPRESSION_in ,LOCAL_VAR_in ,GROUP_ID_in ,INS_GUID_in ,CM_ID_in ,CHECK_OBJ_ID_in,TL_TIME_in,BATCH_ID_in ,IS_SAVE_in ,SAVE_PLACE_in ,STATIC_TIME_in);
      
    COMMIT; END;
    未见异常!
      

  2.   

    给的信息太少,无法具体定位问题,给你ORA的错误解释,应该对你有所帮助。
    ORA-06502: PL/SQL: numeric or value errorstring 
    Cause: An arithmetic, numeric, string, conversion, or constraint error occurred. For example, this error occurs if an attempt is made to assign the value NULL to a variable declared NOT NULL, or if an attempt is made to assign an integer larger than 99 to a variable declared NUMBER(2).
    Action: Change the data, how it is manipulated, or how it is declared so that values do not violate constraints.
      

  3.   

    多线程,有可能。
    insert会对表加锁,如果某个线程一直取不到资源,最终超时可能会报错
      

  4.   


    oracle 不是行级锁。
    表是共享锁吗?
    在insert 的时候会对表加锁吗?
      

  5.   


    可能是数据问题导致的,你可以在程序里debug一下,看看sql的文本是怎样的,然后在sqlplus里执行一下,找问题。