sql >> Databáze >  >> RDS >> Oracle

Chyba spouštění Oracle PL/SQL

přidat ; na konci vašich dotazů na příponu

 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;

Můžete také snížit počet příkazů if pro oba takto:Například:

 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. Jak mohu vložit data do databáze MySQL?

  2. Jak hledat v poli json, které obsahuje pole objektů pomocí Eloquent

  3. Snažíte se porozumět mohutnosti v diagramu vztahu entit?

  4. Zrušte operaci vložení/aktualizace ve spouštěči pomocí PL/SQL