2014-03-05 27 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;