在Oracle中=>;用于

在Oracle中=>;用于,oracle,oracle10g,oracle11g,Oracle,Oracle10g,Oracle11g,在本例中,用户使用=>符号 我不知道用户使用它的目的是什么。。。 请帮帮我。。。 感谢Oracle PL/SQL还支持带有命名参数的调用函数(与位置参数相反)。这就是=>所做的。它被称为“命名参数表示法”。如果您有此程序: DECLARE price_to_update NUMBER(6,2) := 20; updated_price NUMBER(6,2) := 0; BEGIN dbms_output.put_line('price before ' || price_to_upda

在本例中,用户使用=>符号 我不知道用户使用它的目的是什么。。。 请帮帮我。。。
感谢

Oracle PL/SQL还支持带有命名参数的调用函数(与位置参数相反)。这就是=>所做的。

它被称为“命名参数表示法”。如果您有此程序:

DECLARE
price_to_update NUMBER(6,2) := 20;

updated_price NUMBER(6,2) := 0;

BEGIN


dbms_output.put_line('price before ' || price_to_update);

dbms_output.put_line('updated_price before ' || updated_price);

changePrice (old_price => price_to_update, new_price => updated_price);

dbms_output.put_line('price_to_update after update ' || price_to_update);

dbms_output.put_line('updated_price after update ' || updated_price);

END;

/
然后您可以使用位置符号来调用它:

procedure changeprice (old_price number, new_price number);
changeprice (price_to_update, updated_price);
或者,您可以使用位置符号将其称为:

procedure changeprice (old_price number, new_price number);
changeprice (price_to_update, updated_price);
有关更多详细信息,请参阅。

这是(相对于位置符号)。此语法允许:

  • 交换参数
  • 省略可选参数
  • 例如:

    changeprice (old_price => price_to_update, new_price => updated_price);
    
    。。。可称为:

    PROCEDURE FOO(A VARCHAR2:=NULL, B VARCHAR2:=NULL, C VARCHAR2:=NULL)
    

    欢迎来到堆栈溢出。您可以使用
    {}
    工具栏按钮格式化源代码。这一次我已经为您完成了。它还允许跳过可选参数。例如,这样的过程:
    procedure foobar(a varchar2:=null,b varchar2:=null,c varchar2:=null,d varchar2:=null)
    可以这样调用:
    foobar(b=>'foo',d=>'bar')@ammoQ-当然,我会把它包括在答案中。