PLSQL符号"=>"的含义

Ara*_*rav 15 oracle plsql

=>符号在PL/SQL中的含义是什么?例如

GetAttrNumber(toitemtype => toitemtype,
              toitemkey => toitemkey,
              toactid => toactid)
Run Code Online (Sandbox Code Playgroud)

DCo*_*kie 24

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

左侧是参数的名称,右侧是传递的值.

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


小智 11

如果您有一长串参数并且只需要指定它们的子集,那么关键字/值表示法可能非常有用.特别是如果你想跳过参数列表中间的一些参数(这要求跳过的参数使用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 
);
Run Code Online (Sandbox Code Playgroud)

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

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