Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Lỗi số hoặc loại đối số sai trong khi gọi thủ tục

Xem thay đổi bên dưới, lệnh gọi đến title_crud không có biến để giữ những gì đang được nó trả về (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 
   )...

Một sai lầm dễ mắc phải nhưng tôi thấy dễ tránh hơn khi gọi một thủ tục mà bạn truyền các tham số bằng ký hiệu được đặt tên. Cuộc gọi đến title_crud của bạn sẽ trở thành

...
 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. Phiên không hoạt động trong Oracle của JDBC

  2. Lấy hình ảnh từ Oracle DB

  3. Hoán đổi nặng trên oracle 12.1.0.2

  4. Cách nhận số bản ghi bằng cách sử dụng con trỏ tham chiếu trong oracle10g

  5. Trong MySQL có bất kỳ chức năng nào giống như cấp trong Oracle không