sql >> Database teknologi >  >> RDS >> Oracle

Oracle PL/SQL triggerfejl

tilføje ; i slutningen af ​​dine suffiksforespørgsler

 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;

Du kan også reducere antallet af if-udsagn for begge ved at gøre dette:For eksempel:

 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; 


  1. Hvordan får man den næste værdi i en sekvens ind i en variabel?

  2. Få et specifikt datointerval

  3. Laravel indlejrede forhold

  4. Hvad er forskellen mellem Integrated Security =True og Integrated Security =SSPI?