2012-06-08 7 views
12

Что означает символ => в PL/SQL? напримерЗначение символа PLSQL "=>"

GetAttrNumber(toitemtype => toitemtype, 
       toitemkey => toitemkey, 
       toactid => toactid) 
+0

И я цитирую «Оператор ассоциации для позиционной нотации» – RThomas

ответ

19

Это ключевое слово/значение для передачи параметров в процедуру или функцию PL/SQL.

Левая сторона - это имя параметра, справа - переданное значение.

Это полезно, если вы не хотите придерживаться определенного порядка параметров или кода самодокументирования.

10

Нотация ключевого слова/значения может быть очень полезна, если у вас есть длинный список параметров и нужно указать только их подмножество. Особенно, если вы хотите пропустить некоторые из параметров в середине списка параметров (this requires the skipped parameters to use DEFAULT values). В качестве примера, если у вас есть процедура, как это:

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 
); 

Теперь вы можете call my_proc() only with only first and last parameter,

my_proc (p_param1 => value1, p_param5 => значение2);

+1

В ваших примерах параметры должны быть объявлены с помощью 'default', например' p_param4 number default 4' или 'p_param4 number: = 4'. –

Смежные вопросы