1
說我的學生,他們的課程表,它們的總等級分平均:有沒有辦法在同一個表上創建多個DELETE觸發器?
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;
...不起作用。
在此先感謝。
據我所知,這是不可能的。爲什麼不把你的功能放在一個單一的? –
@IgorPopov:我已經改變了「成績」欄來回答這個問題。如果學生下課,觸發器可能會改變學生的GPA。如果學生退學,觸發器可以將他的信息附加在'school_dropout'表中。你能想一想我的例子嗎? –
從事教育技術工作後,我強烈建議,如果您的應用程序有任何可能在生產環境中使用的情況,那麼徹底刪除記錄並不是您想要處理這些情況的方式。 – NotMe