我正在尝试将表限制为仅一个记录并禁用所有添加更多的尝试。
我创建了这个触发器:CREATE TRIGGER abort_insert_to_my_tbl BEFORE INSERT ON my_tbl
BEGIN
RAISE(ABORT,"You can't add records to my_tbl")
END;
但我一直收到这个错误:
Error: near line 3080: near "RAISE": syntax error
我做错了什么?
答案 0 :(得分:5)
正如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;