表结构:
--审批结果
create table CHECKRESULT
(
SHEETID  Varchar2(20)    not null,  --单号  
INTERFACEID  int    not null,  --模块号  
CHECKSTAMP  TIMESTAMP(6)  default systimestamp  not null,  --审核时间戳  
CHECKER  Varchar2(8)    not null,  --审批人  
NOTE  Varchar2 (300)    ,  --说明  
constraint PK_CHECKRESULT primary key(SHEETID,INTERFACEID, CHECKSTAMP)
);
出现问题:主键冲突业务描述:这个表就是记录工作流的审批结果的,想请教下是什么原因导致主键冲突呢?

解决方案 »

  1.   

    补充说明:插入语句是insert into CheckResult(SheetID,InterfaceID,Checker,Note) values(v_SheetID,v_InterfaceID,v_Checker,v_Note);
      

  2.   


    SQL> 
    SQL> create table CHECKRESULT(
      2         SHEETID Varchar2(20) not null, --单号
      3         INTERFACEID int not null, --模块号
      4         CHECKSTAMP TIMESTAMP(6) default systimestamp not null, --审核时间戳
      5         CHECKER Varchar2(8) not null, --审批人
      6         NOTE Varchar2 (300) , --说明
      7         constraint PK_CHECKRESULT primary key(SHEETID,INTERFACEID, CHECKSTAMP)
      8  );
     
    Table created
     
    SQL> 
      

  3.   

    可以先禁用你b表的主键约束:alter table tb_name diable constrint PK_CHECKRESULT;
    添加完数据之后:alter table tb_name enable constraint PK_CHECKRESULT;
      

  4.   

    SHEETID,INTERFACEID, CHECKSTAMP 这个联合主键 有相同的记录, 你看看插入的数据有没有一样的