我想弄清楚如何創建一個觸發器,在另一個表中插入多行,而不僅僅是一次。
我有 4 個表 --> Student、Class、Assignment、ClassAssignment
Student:
ID INT, CLASSID (FOREIGN KEY, references class(ID))
Class:
ID INT,
Assignment:
ID
ClassAssignment (Is a bridge table) from Class And Assignment.
我希望,每次在“ClassAssignment”中插入新行時,對于每個具有此“ClassID”的學生,都要插入另一個表 StudentAssignmentSolution、studentID 和 assignmentID(均來自此插入行)。
create trigger newClassAssignment after insert on classassignment
for each row
insert into StudentAssignmentSolution(studentID, assignmentID)
values((select id from student where classID = new.classID), new.assignmentID);
我不知道該怎么做,是如何讓觸發器在另一個表中插入多行,而不僅僅是一次。
uj5u.com熱心網友回復:
在您的陳述中使用SELECT而不是從表中選擇所有具有該特定的學生:VALUESINSERT INTO ...StudentclassID
INSERT INTO StudentAssignmentSolution(studentID, assignmentID)
SELECT s.ID, NEW.assignmentID
FROM Student s
WHERE s.classID = NEW.classID
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/399816.html
