【发布时间】:2011-09-04 23:26:01
【问题描述】:
一个过程 PL/SQL 可以接受可变数量的参数吗?
在我的例子中,该过程是由表单的提交按钮调用的,并且表单具有可变数量的输入。
【问题讨论】:
-
imo 使用默认值或创建多个调用基本过程的重载。将所有常见处理放在所有其他重载过程调用的基本过程中。当然,重载的 procs 每个都有特定于该调用的额外处理。
标签: stored-procedures plsql arguments
一个过程 PL/SQL 可以接受可变数量的参数吗?
在我的例子中,该过程是由表单的提交按钮调用的,并且表单具有可变数量的输入。
【问题讨论】:
标签: stored-procedures plsql arguments
有点。你可以给过程参数默认值:
CREATE PROCEDURE myproc( p_value_a NUMBER DEFAULT 1,
p_value_b NUMBER DEFAULT 2 ) AS
...
你可以这样称呼:
myproc( 999 );
或者像这样:
myproc (p_value_b => 11 );
【讨论】:
你没提,你用的是mod_plsql吗?
如果是这样,你应该阅读flexible parameter passing。
简而言之,在您的浏览器中为您的过程名称添加一个感叹号前缀,并使用 name_array 和 value_array 定义您的过程。
【讨论】: