sql - 为什么我不能返回我在函数参数 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;
/
它现在有效,但我不知道它为什么有效我的意思是我只是试图像这样更改它并且它有效所以我尝试在谷歌中搜索为什么我可以返回我传入参数的数字但我找不到答案所以我在这里发布这个只是为了我个人的知识,为什么我的第一个功能不起作用它有什么问题?
解决方案
根据PLSQL语言参考,子程序不能改变这个[意思是“模式IN参数”]的值。
推荐阅读
- keras - 使用 BiLSTM 识别名称实体的错误结果 - CRF
- php - 如何让 bootstrap-select css 进入 Laravel 公用文件夹
- c# - Remove specific properties from JSON object according to JSON Schema
- wordpress - 当您无法在 IDE 中打开 zip 文件时,如何使用自己的 Wordpress 主题?
- python - 模块重命名后无法导入
- python - 为什么没有再次创建游标?
- powershell - 删除多个 CSV 文件的标题
- swift - 使用泛型基类的泛型类型覆盖属性
- excel - Excel 到 csv 连接
- python - Tensorflow (Keras) 和多处理导致 GPU 内存不足