これはトリガーのコードで、for ループがあります。トリガーが起動されると (INSERT OR UPDATE)、別のテーブル データが含まれている必要があります。MICL_SUP です。
OPEN projMgrsCursor;
LOOP
FETCH projMgrsCursor INTO projMgr;
select micl_sup_id_seq.nextval into SUPID from dual;
insert into MICL_SUP VALUES ((SUPID), (SELECT SYSDATE FROM DUAL), :NEW.ENTRYADDEDBY_EMP_NO, 3000, 0,projMgr, NULL,:NEW.EMP_NO);
END LOOP;
CLOSE projMgrsCursor;
これがテーブル構造です。Sup_ID
主キーと一意のキー。テーブル構造を変更できない
SUP_ID -primary key
ASSIGNED_DATE
ASSIGNED_BY_EMP_NO
AMOUNT_LIMIT
IS_OVVERRIDDEN
SUP_EMP_NO
RTD_EMP
EMP_NO
使用する sup_ID を入力しますselect micl_sup_id_seq.nextval into SUPID from dual;
が、このコードを実行するとエラーが発生します "RA-00001: unique constraint violated"
(これはコンパイル エラーではありません) 追加する他の方法はありますsup_ID
か? どこで間違ったのですか?
この質問は、このトリガーPlSQL トリガー エラー ORA-0000 ORA-06512 に関連しています。