zoukankan      html  css  js  c++  java
  • mvc+ef+oracle环境中报错:ORA-00001: 违反唯一约束条件

    分析原因:

    oracle中,主健不能自动生成,不过可以通过序列来实现,如果是这样的话,问题很可能就出在序列上了;

    ORACLE表主键ID突然从已经存在的ID值开始自动生成,导致违反主键唯一性约束

    先上个触发器:

    TRIGGER LESEIL."RIGHT"
    BEFORE INSERT ON LESEIL."RIGHT" FOR EACH ROW
    DECLARE last_Sequence NUMBER;
        last_InsertID NUMBER;
    BEGIN
        IF (:NEW."RIGHTID" IS NULL) THEN
            SELECT "Seq_RIGHTID".NEXTVAL INTO :NEW."RIGHTID" FROM DUAL;
        ELSE
            SELECT Last_Number-1 INTO last_Sequence FROM User_Sequences WHERE UPPER(Sequence_Name) = UPPER('Seq_RIGHTID');
            SELECT :NEW."RIGHTID" INTO last_InsertID FROM DUAL;
            WHILE (last_InsertID > last_Sequence) LOOP
                SELECT "Seq_RIGHTID".NEXTVAL INTO last_Sequence FROM DUAL;
            END LOOP;
        END IF;
    END;

    解决办法:

    待解决!

  • 相关阅读:
    Max Sum Plus Plus_DP
    Prime Ring Problem_DFS
    Swaps in Permutation _并查集 + 优先队列
    Roadblocks_次短路
    Reward_toposort
    确定比赛名次_toposort
    Zipper_DFS
    Chopsticks_DP
    搬寝室_DP
    Passing the Message_单调栈
  • 原文地址:https://www.cnblogs.com/fengri/p/3315079.html
Copyright © 2011-2022 走看看