2014-03-05 26 views
0

我試圖將表限制爲只有一條記錄並禁用所有嘗試添加更多內容。 我創造了這個觸發:CREATE TRIGGER abort_insert_to_my_tbl BEFORE INSERT ON my_tbl BEGIN RAISE(ABORT,"You can't add records to my_tbl") END;使用RAISE創建觸發器

但我不斷收到此錯誤:

Error: near line 3080: near "RAISE": syntax error 

我在做什麼錯?

回答

2

正如documentation所示,RAISE是一個函數,而不是一個語句,所以它不能直接在觸發體中使用。

要在語句中使用函數,使用,例如,SELECT語句:

CREATE TRIGGER abort_insert_to_my_tbl 
BEFORE INSERT ON my_tbl 
BEGIN 
    SELECT RAISE(ABORT, 'You can''t add records to my_tbl'); 
END;