aggiungi ;
alla fine delle tue domande sui suffissi
ELSIF :NEW.suffix = '' THEN
SELECT MAX(suffix)+1 INTO :NEW.suffix
FROM tb1 WHERE reportnum = :NEW.reportnum;
ELSIF :NEW.suffix = NULL THEN
SELECT MAX(suffix)+1 INTO :NEW.suffix
FROM tb1 WHERE reportnum = :NEW.reportnum;
Puoi anche ridurre il numero di istruzioni if per entrambi in questo modo:Ad esempio:
IF coalesce(:NEW.reportnum,-1) = -1 THEN
SELECT seq1.NEXTVAL INTO :NEW.reportnum FROM dual;
ELSIF coalesce(:NEW.suffix,-1) = -1 THEN
SELECT MAX(suffix)+1 INTO :NEW.suffix
FROM tb1 WHERE reportnum = :NEW.reportnum;
END IF;