RAISE sqlite里面的SELECT语句

时间:2016-05-06 05:33:41

标签: sqlite exception triggers raise

我正在尝试使用select语句获取RAISE的错误描述,但它不起作用。这是我的代码:

CREATE TRIGGER fetch_survey_list INSERT ON surveylst_offline_info
BEGIN
    SELECT CASE
        WHEN ( (SELECT van from surveylst_offline_info WHERE van = new.van) IS NOT NULL)
        THEN 
        RAISE (FAIL, SELECT error_des FROM ErrorTable WHERE error_id = 1;)
    END;
END; 

TIA!

1 个答案:

答案 0 :(得分:0)

RAISE()的错误消息不是SQL表达式,而是名称(如表或列名)。在'单引号'中指定字符串恰好可行,因为这是escape names的有效机制,但最基本的用法是使用普通名称(并且不是消息),用于标识错误:

... RAISE(FAIL, error_1) ...