SQLite Forum

SAVEPOINTS
Login
Wich is an excellent idea. So I refactored the complete trigger using your idea.
CREATE TRIGGER C_CHECK_DATA BEFORE INSERT ON COMPANY
BEGIN

    SELECT SF(0)
        WHERE NEW.AGE < 16; 
    SELECT SF(1)  
        WHERE LENGTH(NEW.ADDRESS) == 0;
    
    INSERT INTO AUDIT(EMP_ID, NOTICE) 
    VALUES (
        NEW.ID, 
        (SELECT CASE 1
                WHEN (FS(0) AND FS(1))
                        THEN NEW.NAME || 'is too young and has an invalid address FS(0)→ ' || FS(0) || ' FS(1)→ ' || FS(1)
                WHEN (FS(0) AND FC(1))
                        THEN NEW.NAME || ' is too young to be an employee. FS(0)→ ' || FS(0) || ' FS(1)→ ' || FS(1)
                WHEN (FC(0) AND FS(1))
                        THEN NEW.NAME || ' has an invalid address. FS(0)→ ' || FS(0) || ' FS(1)→ ' || FS(1)
                        ELSE 'OK. FS(0)→ ' || FS(0) || ' FS(1)→ ' || FS(1)
        END)
    );  

    SELECT CF(0), CF(1);

END;