oracle - PL/SQL 使用 :new 触发错误错误变量
问题描述
我有两个主表 Student 和 Classes 有多对多的关系,所以我创建了一个中间表。每次我在学生上插入数据时,它都会填充我在这两个触发器上生成的数字:insert_Students_trigger 和 insert_Classes_trigger。只有最后一个触发器给了我一个错误绑定变量 new.Id_Class
知道为什么吗?
CREATE SEQUENCE id_Students_inc start with 1
increment by 1;
CREATE SEQUENCE id_Classes_inc start with 1
increment by 1;
CREATE OR REPLACE TRIGGER insert_Students_trigger BEFORE INSERT on Students
FOR EACH ROW
BEGIN
:new.ID_Student := id_Student_inc.nextval;
END;
CREATE OR REPLACE TRIGGER insert_Classes_trigger BEFORE INSERT on Classes
FOR EACH ROW
BEGIN
:new.ID_Classe := id_Class_inc.nextval;
END;
CREATE OR REPLACE TRIGGER Students_Classes_trig AFTER INSERT ON Students
FOR EACH ROW
BEGIN
INSERT INTO StudentsClasses (ID_Student, ID_Class)
VALUES (:new.ID_Student,:new.ID_Class);
end;
解决方案
推荐阅读
- django - 我可以切换使用 django 吗?
- php - 调用 GET Rest API 时出现 403 错误
- python - Python:使用函数引用 DataFrame 中的列
- eclipse - 在 Eclipse 内部 JavaBuilder 中启用 DEBUG 标志
- logback - logback 为同一个 appender 同时打开多个文件
- c - 为什么我不能在 C 中创建这些二维数组的副本?
- google-apps-script - 从下拉列表中选择“删除” clearContent(); 细胞
- python - Selenium 使用 python 返回不正确的列数
- jquery - 如何找到总折扣 - jQuery
- css - 如何在带有 HTML 输出的 tufte 风格的 Bookdown 中重置每章的旁注编号?