Oracle
 sql >> база данни >  >> RDS >> Oracle

Грешен брой или типове аргументи грешка при извикване на процедура

Вижте промяната по-долу, извикването на title_crud няма променлива, която да съдържа това, което се връща от него (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 
   )...

Лесна грешка за допускане, но намирам за по-лесно избягване, когато извиквате процедура, предавате параметри чрез именувана нотация. Вашето обаждане до title_crud става

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Условна SUM на Oracle

  2. вземете интервали с непроменлива стойност от поредица от числа

  3. Динамична параметризирана заявка с харесване

  4. ORA-907 липсва дясна скоба при използване на ключова дума AS

  5. създаване на изглед на Oracle въз основа на сравнение на данни между две таблици на база данни