说我有一张学生表,他们的班级以及他们的总分等级平均值:
CREATE TABLE [records](
student TEXT NOT NULL,
class TEXT DEFAULT '',
gpa REAL DEFAULT 0.0);
在此表中,学生可以放弃课程......
DELETE FROM records WHERE student=? AND class=?
......或辍学:
DELETE FROM records WHERE student=?
每个事件都应激活不同的触发器。如何在SQLite中编写这些触发器?因为...
CREATE TRIGGER [drop_a_class] AFTER DELETE ON records
WHEN (DELETE FROM records WHERE student=old.student AND class=old.class)
BEGIN
...
END;
......不起作用。
提前致谢。
答案 0 :(得分:0)
SQLite仅支持FOR EACH ROW触发器,而不支持FOR EACH STATEMENT触发器。
您在WHEN子句中的信息只是要删除的记录的内容。
您无法在触发器中区分这些情况。 您必须在您的应用程序中实现此功能。