plsql - PL/SQL 查询列并在函数调用中使用
问题描述
我正在尝试这个,但肯定我错过了很多
declare
my_id table.ISR_ID%type;
begin
select NVL(MAX(table.ISR_ID)+1,1) into isr_id
from table;
select my_pkg.getFunction(InputToFunction=> isr_id); -- from ?
end;
解决方案
如果您声明了 MY_ID 变量,则应该选择它,而不是选择 ISR_ID(从未声明过)。
此外,您应该将函数的结果返回到某些东西(可能是另一个变量?)。我已将其声明为 FUN_RES - 请参阅 PL/SQL 匿名块中的注释。
说你错过了很多并没有多大帮助。你应该指定你得到哪些错误。无论如何:尝试这样的代码,说明它是否有效,如果没有,请说明原因(可能的错误等)。
declare
my_id table.ISR_ID%type;
fun_res number; --> function result should be returned into this variable.
-- I don't know what it returns, so I set it to be a NUMBER.
-- Change it, if necessary.
begin
select NVL(MAX(table.ISR_ID) + 1, 1)
into my_id
from table;
fun_res := my_pkg.getFunction(my_id);
end;
[编辑]
如果您必须为表中的每个 ISR_ID 选择函数的值,那么您不需要 PL/SQL 但
select isr_id,
my_pkg.getfunction(isr_id) fun_res
from table;
如果您想要 PL/SQL,则在循环中执行,例如:
begin
for cur_r in (select isr_id from table) loop
dbms_output.put_line(cur_r.isr_id ||', result = ' || my_pkg.getfunction(cur_r.isr_id));
end loop;
end;
/
推荐阅读
- databricks - 达到批量分辨率的最大迭代次数 (100)
- javascript - 关于从后端获取数据并在前端表示的 Javascript 问题
- if-statement - Tableau 错误消息“如果在字符 0 处,则预期结束匹配
- php - 如何使用 type="radio" 和 class="btn-check" 从数据库中回显我的数据?
- excel - Excel VBA 宏 - 值
- python - SyntaxError:使用 flask_wtf 包时语法无效
- python - Python opencensus 烧瓶设置请求 ID 标头,如在 FlaskMiddleware/AzureLogHandler 中设置
- google-chrome - 连接不安全 - 在 netlify 上部署我的反应应用程序并添加自定义域之后
- arrays - Flutter - 'List 类型的值
- php - 从 url 字符串回显电子邮件