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; 未见异常!
给的信息太少,无法具体定位问题,给你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.
(
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;
未见异常!
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.
insert会对表加锁,如果某个线程一直取不到资源,最终超时可能会报错
oracle 不是行级锁。
表是共享锁吗?
在insert 的时候会对表加锁吗?
可能是数据问题导致的,你可以在程序里debug一下,看看sql的文本是怎样的,然后在sqlplus里执行一下,找问题。