plsql - Oracle named parameters -


how can use keywords oracle named parameters syntax ? following gives me 'ora-00936: missing expression' because of 'number'-argument:

select  b.g3e_fid     ,   a.g3e_fid     , sdo_nn_distance( 1) acn a, b$gc_fitface_s b mdsys.sdo_nn ( geometry1 => a.g3e_geometry, geometry2 => b.g3e_geometry, param => 'sdo_num_res=1', number=>1) = 'true' , b.g3e_fid = 57798799; 

if run without named parameters fine.

thanks, steef

although can around reserved word issue in call enclosing name in double quotes @avrajitroy suggested, i.e. ... "number"=>1) = 'true'..., aren't achieving much. oracle letting refer parameters name isn't doing information.

mdsys.sdo_nn spatial operator, not direct call function. there function backing - can see schema scripts mdsys it's calling prtv_idx.nn - names of formal parameters of function not relevant. digging can see called geom, geom2, mask etc., , there isn't 1 called number (and can't have formal parameter called number, quoting it, far can tell).

the formal parameters operator not named, , passed through positionally. can't skip argument naming others, can function/procedure arguments have default values.

so means can call parameters want in call; changing names of first 3 parameters in call random won't stop working.

it means naming them in call bit pointless, if you're trying document call can use other meaningful name rather 'number' if don't want quote it.


Comments

Popular posts from this blog

javascript - Laravel datatable invalid JSON response -

java - Exception in thread "main" org.springframework.context.ApplicationContextException: Unable to start embedded container; -

sql server 2008 - My Sql Code Get An Error Of Msg 245, Level 16, State 1, Line 1 Conversion failed when converting the varchar value '8:45 AM' to data type int -