0
あまりにも多くの私は、これは私が行2のエラー:PL/SQL:文が無視されました。エラー(2,17):PL/SQL:ORA-00913:値
CREATE OR REPLACE TRIGGER loan_audit_trigger
AFTER INSERT OR UPDATE OR DELETE
ON loan_02
FOR EACH ROW
BEGIN
IF INSERTING THEN
INSERT INTO loan_audit VALUES
(:new.employee_id, :new.tool_no, :new.tool_out_date, :new.due_date, 'INSERTED', SYSDATE);
ELSIF UPDATING THEN
INSERT INTO loan_audit VALUES
(:old.employee_id, :old.tool_no, :old.tool_out_date, :old.due_date, 'UPDATED', SYSDATE);
ELSIF DELETING THEN
INSERT INTO loan_audit VALUES
(:old.employee_id, :old.tool_no, :old.tool_out_date, :old.due_date, 'DELETED', SYSDATE);
END IF;
END;
Iを作成したトリガされているOracle SQL Developerの
create table loan_audit (
employee_id number not null,
tool_no number not null,
tool_out_date date not null,
due_date date not null);
に、このエラーが生じていますこれらのエラーが発生しています
Error(2,5): PL/SQL: SQL Statement ignored
Error(2,17): PL/SQL: ORA-00913: too many values
Error(5,5): PL/SQL: SQL Statement ignored
Error(5,17): PL/SQL: ORA-00913: too many values
Error(8,5): PL/SQL: SQL Statement ignored
Error(8,17): PL/SQL: ORA-00913: too many values
私は間違っていますか?私はこれを動作させようとしていましたが、このエラーが続いていました!すべての助けを前もってありがとう。どのinsert
の列は、明示的な
テーブルには4つの列がありますが、5つの値を挿入しようとしているため、Oracleは「あまりにも多くのvaues」と文句を言います。補足として、INSERT INTOテーブル(col1、col2、... colN)VALUES(val1、val2、... valN)に列名を明示的にリストする方法があります。列名を列挙しないでINSERTを使用することは、多くのエラーを引き起こす可能性があるため、悪い習慣とみなされます。 – krokodilko
開発者の仕事の1つは、エラーをデバッグすることです。エラーメッセージは非常に明確で、「値が多すぎます」。それはあまりにも多くの価値があるという手がかりを与えるはずです。 – Eric