首页 > 解决方案 > 为什么我不能返回我在函数参数 PL SQL 中传递的值

问题描述

好吧,我试图创建一个函数,返回参数中传递的数字的两倍,这是我创建的函数

CREATE or REPLACE FUNCTION fn_double(a number)
return number
IS
begin 
a:=a*2;
return a;
END;
/

出现错误“警告:函数创建时出现编译错误。” 当我像这样更改功能时,我修复了错误:

CREATE or REPLACE FUNCTION fn_double(a number)
return number
IS
nbr number;
begin 
nbr:=a;
nbr:=nbr*2;
return nbr;
END;
/

它现在有效,但我不知道它为什么有效我的意思是我只是试图像这样更改它并且它有效所以我尝试在谷歌中搜索为什么我可以返回我传入参数的数字但我找不到答案所以我在这里发布这个只是为了我个人的知识,为什么我的第一个功能不起作用它有什么问题?

标签: sqlplsql

解决方案


根据PLSQL语言参考子程序不能改变这个[意思是“模式IN参数”]的值


推荐阅读