В Oracle => символ используется для - PullRequest
4 голосов
/ 11 августа 2011
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;

/

в этом примере пользователь использует символ =>, я не могу понять, для чего пользователь использует его ... Пожалуйста, помогите мне ... спасибо

Ответы [ 3 ]

8 голосов
/ 11 августа 2011

Это именованная нотация для параметров подпрограммы (против позиционной нотации).Этот синтаксис позволяет:

  1. Поменять параметры.
  2. Пропустить необязательные параметры.

Пример:

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

...можно назвать как:

FOO(C=>'FOO', A=>'BAR');
3 голосов
/ 11 августа 2011

Это называется "именованным параметром нотации".Если у вас есть эта процедура:

procedure changeprice (old_price number, new_price number);

, то вы можете вызвать ее с позиционной нотацией:

changeprice (price_to_update, updated_price);

или вы можете вызвать ее с позиционной нотацией:

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

См. документацию для получения более подробной информации.

0 голосов
/ 11 августа 2011

Oracle PL / SQL также поддерживает вызываемые функции с именованными параметрами (в отличие от позиционных параметров).Это то, что делает =>.

...