我正在阅读命名参数。我实际上有两个问题:
如果使用命名参数语法: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 .......
答案 0 :(得分:1)
要将proc作为exec procedure_name(p_rank => 5)
调用,您应该使用DEFAULT
值定义其他参数。如果你有OUT
参数,比如p_data,你应该把它传递给你的proc。