2010-04-22 2 views
3

Почему Oracle 10 R2 не позволяет использовать нотные параметры при вызове функций в операторах вставки?Oracle: Использование нотационных параметров, которые вызывающие функции в операторах вставки не допускаются?

В моем приложении я вызываю функцию в инструкции insert. Если использовать нотации метод передачи параметров, я получаю сообщение об ошибке ORA-00907: Missing right parenthesis

INSERT INTO foo 
      (a, 
      b, 
      c) 
VALUES  (c, 
      F1(P1=>'1', P2=>'2', P3 => '3'), 
      e) 

Изменение же к позиции на основе прохождения параметра, и тот же код компилируется без ошибок.

INSERT INTO foo 
      (a, 
      b, 
      c) 
VALUES  (c, 
      F1('1','2','3'), 
      e) 

Почему это так?

ответ

9

Потому что это была функция added in 11g.

+0

+1. Не могу поправиться. – Guru

+0

До этого '=>' разрешалось только при вызове программ PL/SQL из других программ PL/SQL. – APC