【发布时间】:2016-12-02 05:39:00
【问题描述】:
我正在阅读命名参数。我其实有两个问题:
如果使用命名参数语法:p_rank => 5,我可以只传递我需要的。假设程序接受 5 个参数,但是对于这个调用,我只想传递 1 个参数。
我可以:exec procedure_name(p_rank => 5) 而不用担心其他 4 个吗?
现在,我如何使用以 REF CURSOR 作为输出的命名参数?
exec customer_package.retrieve_data (
p_rank => 5,
p_value_score => p_value,
p_momentum_score => p_momentum,
p_growth_score => p_growth,
p_data => p_output);
p_data 实际上是一个 REF CURSOR.......所以,如果使用 SQL Plus 中的位置参数调用,我可以将变量定义为 REF_CURSOR 并打印它。但是这是在一个存储过程中完成的,调用另一个存储过程,也就是返回一个REF CURSOR.......
【问题讨论】:
-
是的,命名参数的整个想法是允许您只提供您需要的参数,只要不需要其他参数。
标签: sql oracle plsql procedure