我一直在網上搜索如何在sqlite中使用「before trigger」。我知道正確使用「後觸發」。我發現那個在數據庫發生任何更改(在表中插入/更新行)之前使用「之前觸發器」進行驗證的人。爲了清除表達式,我寫了一個觸發器,其中的類型在之前,並且在插入之前事件被插入以驗證標記。 我的觸發器是如何在sqlite插入觸發器之前進行驗證
create trigger mark_insert before insert on exam
when mark<=50
begin
insert into exam(mark) values(50);
end;
也許這是錯誤的觸發器。那麼,請你指出我的錯誤嗎? 我想檢查標記是否小於或等於50.如果是這樣,我想插入默認值(在本例中爲50)。我不太熟悉sql和觸發器並開始學習。
我的考試表有以下幾列,
id(pk) | subject | mark
感謝您的幫助。但我得到這個錯誤:沒有這樣的列標記。 是否由於raise()?你能解釋一下關於提升功能嗎? 在此先感謝。 – waiyan
'raise'就是你在觸發器內產生錯誤的方式。 http://www.sqlite.org/lang_createtrigger.html –
SELECT語句後,','是必需的。 –