20

=>PL/SQL中的符号是什么意思?例如

GetAttrNumber(toitemtype => toitemtype,
              toitemkey => toitemkey,
              toactid => toactid)
4

2 回答 2

27

这是将参数传递给 PL/SQL 过程或函数的关键字/值表示法。

左边是参数的名字,右边是被传递的值。

当您不想保持特定的参数顺序或自记录代码时,它很有用。

于 2012-06-08T00:23:40.687 回答
12

如果您有很长的参数列表并且只需要指定它们的子集,则关键字/值表示法会非常有用。特别是如果您想跳过参数列表中间的一些参数(这需要跳过的参数使用 DEFAULT 值)。例如,如果您有这样的过程:

PROCEDURE my_proc(
    p_param1  NUMBER DEFAULT 1
  , p_param2  NUMBER DEFAULT 2
  , p_param3  NUMBER DEFAULT 3
  , p_param4  NUMBER DEFAULT 4
  , p_param5  NUMBER DEFAULT 5 
);

现在您只能使用第一个和最后一个参数调用 my_proc()

my_proc(p_param1 => value1, p_param5 => value2);

于 2012-06-14T09:58:49.970 回答