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;