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

Tham số mặc định trong thủ tục oracle

Trước hết, tôi nghĩ rằng gói đó sẽ không hợp lệ, bạn đang cố thêm một phần thân cho hàm của mình trong đặc tả gói. Tuy nhiên, toàn bộ ý tưởng là tốt và nó sẽ hoạt động, nếu được thực hiện đúng, chẳng hạn, hãy tạo một gói:

create or replace package xyz is

  procedure abc(v_frst_param in varchar2 default 'Y');

  procedure abc(v_frst_param in varchar2 default 'Y', v_second_param in varchar2);

end xyz;

Và một phần thân gói:

create or replace package body xyz is

procedure abc(v_frst_param in varchar2 default 'Y') is
  begin  
    dbms_output.put_line(v_frst_param);  
  end;

procedure abc(v_frst_param in varchar2 default 'Y', v_second_param in varchar2) is
  begin  
    dbms_output.put_line(v_frst_param || ' / ' || v_second_param);  
  end;

end xyz;

Sau đó, bạn có thể muốn thực hiện quy trình của mình:

begin
  xyz.abc;
  xyz.abc(); -- This is the same thing as above
  xyz.abc(v_second_param => 'Maybe');
end;

Xin lưu ý rằng nếu bạn gửi bất kỳ thứ gì dưới dạng tham số cho v_first_parameter tới thủ tục đó, nó sẽ sử dụng giá trị bạn đã gửi chứ không phải giá trị mặc định.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để sử dụng từ khóa 'as' để làm bí danh cho một bảng trong Oracle?

  2. Làm thế nào để liên kết một người dùng với nhiều lược đồ của một cơ sở dữ liệu?

  3. Làm thế nào để lấy các hàng từ một bảng nếu tổng số hàng nhiều hơn 10 trong Oracle?

  4. Hiệu quả của việc tính toán số lượng nhân lực hàng quý

  5. Chọn trong Lỗi PL-SQL:INTO Sau khi chọn