views:

59

answers:

1

Why does Oracle 10 R2 not allow use of notational parameters while calling functions in insert statements ?

In my app, I'm calling a function in an insert statement. If use notational method of parameter passing, I get an ORA-00907: Missing right parenthesis error message

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

Changing the same to position based parameter passing, and the same code gets compiled with no errors.

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

Why is this so ?

+9  A: 

Because it was a feature added in 11g.

Gary
+1. Cant get better.
Guru
Before then the `=>` was only allowed when calling PL/SQL programs from other PL/SQL programs.
APC