tratando de concat en la función RAISE () usando || da como resultado un error de sintaxis
Estoy tratando de crear un activador que capture inserciones en la tabla de Visiones donde la clave externa (viewings.location) no corresponde a una clave primaria existente en la tabla de Lugares (places.location). La lógica, por lo que puedo decir, funciona como se esperaba. Sin embargo, mi problema proviene de tratar de concatenar el valor intentado en el mensaje de error en la función elevar. ¿Esto no está permitido?
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;