在oracle中执行函数时跳过参数

问题描述

一个简单的问题。我有如下功能

create or replace function f_blah (argfirst number default 5,argsecond number default 5) 
return number
AS

v_value number;
Begin
v_value := argfirst + argsecond;
return v_value;
END;

这是我被处决的结果。

Select f_blah(1) from dual

结果6

Select f_blah() from dual

结果10

如何通过单独给出第二个参数来执行功能

解决方法

您可以在Association Opeator中使用关键字/值表示法,即,使用=>来指定参数名称和值

SELECT f_blah(argsecond=>4) FROM DUAL;

输出将为9

Demo