Пользовательские функции не могут быть созданы в самом SQLite. (Тем не менее, любой язык сценариев делает это легко.)

етствующая документация

Я пытаюсь создать триггер, который ловит вставки в таблицу Viewings, где внешний ключ (viewings.location) не соответствует существующему первичному ключу в таблице Places (place.location). Логика, насколько я могу судить, работает как положено. Однако моя проблема связана с попыткой объединить указанное значение в сообщение об ошибке в функции повышения. Это не разрешено?

create trigger catchForeignKeyError BEFORE INSERT ON VIEWINGS
BEGIN
SELECT CASE 
WHEN NEW.location NOT IN (SELECT PLACES.location FROM PLACES) THEN 
RAISE(ABORT, 'Error: Insert into the VIEWINGS table references location '''||NEW.location||''' that is not found in the PLACES table.') 
END; 
END;

Ответы на вопрос(1)

Ваш ответ на вопрос