如何删除Oracle中的重载函数?

时间:2013-12-04 18:45:10

标签: oracle plsql

我最近在接受采访时遇到过这个问题。请帮帮我。让我们说我们的模式中有两个函数,其原型如下,

  1. display(a varchar2, b number)
  2. display(c varchar2, d varchar2, e number)
  3. 我发出以下声明

    drop function display;
    

    哪个功能会被删除?

1 个答案:

答案 0 :(得分:0)

重载意味着使用相同的子程序来调用不同的子程序。这是一个例子

declare

    x number;        
    y number;

    function findenqno (fname1 varchar2) return number is --–function 1        
        enqno1 number (10);       
    begin
        select enquiryno        
        into enqno1       
        from enquiry        
        where fname = fname1;
        return(enqno1);
    end;

    function findenqno (refcode1 number) return number is --–function 2
        enqno1 number (10);
    begin
        select enquiryno    
        into enqno1
        from enquiry
        where refcode = refcode1;
        return (enqno1);
    end;        
begin
-- You call the function as:
X := findenqno ('ANIL');
    dbms_output.put_line('using name '||x);   
    Y := findenqno (1002);
    dbms_output.put_line('using refcode '||y);
end;
/

这不是一个荒谬的子程序,因此没有任何重要的功能。

因为它没有写在数据库中。