Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 具有命名参数和游标的存储过程_Sql_Oracle_Plsql_Procedure - Fatal编程技术网

Sql 具有命名参数和游标的存储过程

Sql 具有命名参数和游标的存储过程,sql,oracle,plsql,procedure,Sql,Oracle,Plsql,Procedure,我在读命名参数。我实际上有两个问题: 如果使用命名参数语法:p_rank=>5,我只能传递我需要的。假设过程接受5个参数,但是对于这个调用,我只想传递1个参数 我可以:exec程序名(p\u秩=>5)而不用担心其他4个吗 现在,如何使用作为REF游标输出的命名参数 exec customer_package.retrieve_data ( p_rank => 5, p_value_score => p_value, p_momentum_

我在读命名参数。我实际上有两个问题:

如果使用命名参数语法:
p_rank=>5
,我只能传递我需要的。假设过程接受5个参数,但是对于这个调用,我只想传递1个参数

我可以:
exec程序名(p\u秩=>5)
而不用担心其他4个吗

现在,如何使用作为REF游标输出的命名参数

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_数据实际上是一个REF游标……。因此,如果使用SQL Plus中的位置参数调用,我可以将变量定义为REF_游标并打印它。但这是在一个存储过程中完成的,调用另一个存储过程,即返回一个REF游标……

要调用proc as
exec procedure\u name(p\u rank=>5)
您应该使用
默认值定义其他参数。如果您有
OUT
参数,例如p_数据,您应该将其传递给您的进程。

是的,命名参数的整个思想是允许您只提供您需要的参数,只要不需要其他参数。