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

Chybný počet nebo typy argumentů při volání procedury

Viz níže uvedená změna, volání title_crud nemá proměnnou, která by obsahovala to, co vrací (p_err)

PROCEDURE create_title(
        P_TITLE varchar2,
        P_USER varchar2,
        P_ERR OUT VARCHAR2 
   )
   IS    
   BEGIN  
        IF P_TITLE IS NULL THEN
            P_ERR := 'Null value';
        ELSE
            title_crud('I',NULL,P_TITLE,P_USER,P_ERR); -- Extra Parameter      
        END IF;  
   END;


 PROCEDURE title_crud(
        P_OP_TYPE VARCHAR2,
        P_ID number,
        P_TITLE varchar2,
        P_USER varchar2,
        P_ERR OUT VARCHAR2 
   )...

Je to snadná chyba, ale zdá se mi snazší se jí vyhnout, když voláte proceduru, kterou předáváte parametry pojmenovanou notací. Vaše volání na title_crud se změní na

...
 title_crud(P_OP_TYPE => 'I',
            P_ID      =>  NULL,
            P_TITLE   =>  P_TITLE,
            P_USER    =>  P_USER,
            P_ERR     =>  P_ERR);
...



  1. Proces upgradu krok za krokem pro aktualizaci R12.2, část -4 (používání 12.2.x Release Update Pack)

  2. Existuje způsob, jak dynamicky vytvořit tabulku a některé počáteční oddíly?

  3. SQL Server – vybrat sloupce, které splňují určité podmínky?

  4. Postgres zkopíruje Heroku Production DB do lokální vývojové DB