一、Oracle 中类似的函数稳定性关键字(DETERMINISTIC)
在 Oracle 里,function有着一个DETERMINISTIC参数,它表示一个函数在输入不变的情况下输出是否确定,只要输入的参数一样,返回的结果一定是一样的,以保证函数对于任何输入总是完全相同的方式处理参数。Oracle 的内置函数UPPER、TRUNC等都是DETERMINISTIC函数。具体例子如下:
----带DETERMINISTIC的现象
create or replace function f_t(i_p int) return number DETERMINISTIC is
i_rtn number;
begin
i_rtn := i_p * dbms_random.value(1,10);
return i_rtn;
end;
select LEVEL,f_t(1) FROM DUAL CONNECT BY LEVEL