Oracle常见问题及处理
金蝶云社区-huangyunzhi
huangyunzhi
1人赞赏了该文章 6,400次浏览 未经作者许可,禁止转载编辑于2015年04月21日 21:36:43
ORA-00001违反唯一约束条件
问题描述EAS6.0的数据中心升级到7.5过程中提示下面的错误:[Executeprovider[.\eas\7_0_3to7_0_5\PTMEAS750\ctrl\rpts\ctrlreport\PT053019_rpts_report_sumreport_create_table.sql],sql[DECLARE CNT PLS_INTEGER;BEGINSELECT COUNT(*) FCOUNT INTO CNT FROMT_PM_MainMenuItem WHERE FUiClassName ='com.kingdee.eas.rpts.sumreport.client.UploadTaskListUI';IF CNT = 0 THENEXECUTE IMMEDIATE 'INSERT INTOT_PM_MainMenuItem (FID, FNAME_L1, FNAME_L2, FNAME_L3, FNUMBER, FDESCRIPTION_L1,FDESCRIPTION_L2, FDESCRIPTION_L3, FSIMPLENAME, FISLEAF, FLEVEL, FLONGNUMBER,FORDER, FIMAGEPATH, FVISIBLE, FENABLED, FUIOPRT, FOPENMETHOD, FSHORTCUTCODE,FISREPORT, FCREATORID, FCREATETIME, FLASTUPDATEUSERID, FLASTUPDATETIME,FPARENT, FFUNCTION, FCONTROLUNITID, FDISPLAYNAME_L1, FDISPLAYNAME_L2,FDISPLAYNAME_L3, FSYSMENUID, FISMODIFIED, FINDUSTRY, FNOSUIT, FMENUTYPE,FUICLASSNAME, FUICLASSPARAM) VALUES (''Z3KKH7KgSQ206YcwV/4JkP033J8='', NULL, ''上报任务列表'', ''上報任務列表'', ''04uploadReport'', NULL,NULL, NULL, NULL, 1, 3, ''0201MC!EXTRSAR!04uploadReport'', ''255'', NULL, 1, 1,NULL, 0, ''UploadReport'', 0, ''00000000-0000-0000-0000-00000000000013B7DE7F'',TO_DATE(''2010-01-29 15:20:14'', ''YYYY-MM-DD HH24:MI:SS''), ''00000000-0000-0000-0000-00000000000013B7DE7F'',TO_DATE(''2010-01-29 15:20:14'', ''YYYY-MM-DD HH24:MI:SS''),''M08WIzFkTLeULbeIZRMXaBdCz6U='', NULL,''00000000-0000-0000-0000-000000000000CCE7AED4'', NULL, ''商业分析_报表中心_上报任务列表'', ''商業分析_報表中心_上報任務列表'', ''M08WIzFkTLeULbeIZRMXaBdCz6U='',0, 0, NULL, 10, ''com.kingdee.eas.rpts.sumreport.client.UploadTaskListUI'',NULL)';END IF;END;] failed, sqlcode[1] sqlstat[23000],Causedby[ORA-00001: 违反唯一约束条件(YT.PK_MAINMENUITEM)ORA-06512: line 5]] 问题解答判断条件没有使用主键,导致插入时因为要插入的记录主键在帐套中已经存在出现冲突。将现有帐套中有冲突的记录删除,删除脚本(可以在数据库管理-查询窗口执行并提交即可):--删除存在冲突的记录delete T_PM_MainMenuItem wherefid='Z3KKH7KgSQ206YcwV/4JkP033J8=';执行成功后,重新进行数据中心升级成功。关键字ORA-00001违反唯一约束条件