我正在尝试使用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!
答案 0 :(得分:0)
RAISE()的错误消息不是SQL表达式,而是名称(如表或列名)。在'
单引号'
中指定字符串恰好可行,因为这是escape names的有效机制,但最基本的用法是使用普通名称(并且不是消息),用于标识错误:
... RAISE(FAIL, error_1) ...