【发布时间】:2019-04-24 15:17:06
【问题描述】:
我正在尝试在插入所有主题值时计算表中的总值。 这是我的 plsql 代码:
CREATE OR REPLACE TRIGGER stud_marks before INSERT OR UPDATE ON student_report
FOR EACH ROW
BEGIN
set new.total := :new.sub1 + :new.sub2 + :new.sub3;
END;
这是我得到的错误:
Warning: Trigger created with compilation errors.
SQL> show error; Errors for TRIGGER STUD_MARKS:
LINE/COL ERROR
-------- -----------------------------------------------------------------
2/1 PL/SQL: SQL Statement ignored 2/5 PL/SQL: ORA-00922: missing or invalid option
【问题讨论】:
-
SET 不是 PL/SQL 命令。你只需要一个简单的任务:
:new.total := :new.sub1 + :new.sub2 + :new.sub3; -
我尝试删除 SET 仍然出现错误
SQL> show error Errors for TRIGGER STUD_REP: LINE/COL ERROR -------- ----------------------------------------------------------------- 2/1 PL/SQL: Statement ignored 2/1 PLS-00201: identifier 'NEW.TOTAL' must be declared -
如果我声明总计,那么同样的错误也会出现
-
@Ajax 你缺少分号: :new.total := :new.sub1 + :new.sub2 + :new.sub3
-
是的。如果您查看我的代码,我会更正缺少的分号。我想我应该更明确地说明这一点。
标签: oracle plsql database-trigger