1
レコードを挿入しようとするとエラーメッセージが表示されます。すべての値が存在し、データ型が一貫していることをダブルチェックしました。誰かが私に問題を見つけるのを助けてくれますか?値が不十分なエラーメッセージOracle
CREATE SEQUENCE EMP_ID_SEQ
START WITH 300
INCREMENT BY 1;
CREATE TABLE STAFF(
EMP_ID NUMBER NOT NULL,
EMP_NAME VARCHAR2(20),
EMP_DOB DATE,
EMP_TEL VARCHAR2(20),
EMP_EMAIL VARCHAR2(50),
EMP_ADDR VARCHAR2(100),
EMP_HIREDATE DATE,
EMP_ENDDATE DATE,
EMP_SALARY NUMBER(7,2),
EMP_SUPERVISOR NUMBER,
JOB_CODE NUMBER,
BRA_CODE NUMBER);
CREATE TRIGGER EMP_ID_TRG
BEFORE INSERT ON STAFF
FOR EACH ROW
BEGIN
SELECT EMP_ID_SEQ.NEXTVAL
INTO :NEW.EMP_ID
FROM DUAL;
END;
/
INSERT INTO STAFF VALUES ('Jaime Stark',to_date('29/04/1951','dd/mm/YYYY'),'607 4432-1059','[email protected]','P.O. Box 891, 5837 Enim Avenue',to_date('16/06/2010','dd/mm/YYYY'),NULL,41695,NULL,1,1);
私は多分私のシーケンスに何か問題があり、ヌルを挿入することはできませんというエラーを取得しますか? emp_idに正しいプライマリキーを設定しないでください。 –
どちらのオプションもうまくいきます。どの列にエラーがありますか? – turbanoff
@JoseDavidGarciaLlanos、トリガーが何らかの理由で発砲していない可能性があります。私は上記のようにあなたの作成文を正確に使用しました。そして、両方のturbanoffのinsert文が私のために働いていました。したがって、トリガーを無効にしたり削除したりするなどのトラブルシューティングを行っていた可能性があります。可能であれば、テーブルとトリガーを落として再作成し、この回答からインサートを再試行してください。 –