我有一个代码: OPEN c_data (p_id => 1);
=>
运算符在PL / SQL中是什么意思
是调用运算符还是赋值运算符
=>
在过程或函数调用中用于按名称执行参数分配。假设我们有一个过程定义为:
PROCEDURE XYZ(pParm1 IN NUMBER, pParm2 IN NUMBER, pOutput OUT NUMBER);
我们想调用它。一种方法是按照声明的顺序传递参数,如下所示:
XYZ(10, 20, nOut);
我觉得更清楚的另一种方法是使用=>
运算符直接显示将哪些值分配给每个参数:
XYZ(pOutput => nOut, pParm1 => 20, pParm2 => 40);
请注意,如果使用=>
运算符为每个参数分配值,则不必按照在过程中声明的顺序传递参数。
如果编译并运行以下示例:
declare
nOut NUMBER;
PROCEDURE XYZ(pParm1 IN NUMBER, pParm2 IN NUMBER, pOutput OUT NUMBER) IS
BEGIN
pOutput := pParm1 * pParm2;
END XYZ;
begin
-- Test statements here
XYZ(10, 20, nOut);
DBMS_OUTPUT.PUT_LINE('After call 1, nOut=' || nOut);
XYZ(pOutput => nOut, pParm1 => 20, pParm2 => 40);
DBMS_OUTPUT.PUT_LINE('After call 2, nOut=' || nOut);
end;
您会发现它产生以下输出:
After call 1, nOut=200
After call 2, nOut=800
我发现按名称传递值在两种情况下特别有用:
分享并享受。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句