my question is why isnt this being caught at compile-time/run-time ? On 3/16/06, rjamya <rjamya@xxxxxxxxx> wrote: > > question ... why would you declare same variable twice in the same > scope anyways ...?? It is a bad programming practice ... > > Raj > > On 3/16/06, Manu Sankar <manusankar@xxxxxxxxx> wrote: > > Hi, > > > > While redeclaration of variables is not allowed in anonymous blocks, > > the same is being allowed in Package specs. > > > > What could be the reason behind it ? > > > > Following script can give you a test case > > > > declare > > g_num number(2):=10; > > g_num varchar2(10):='test'; > > begin > > dbms_output.put_line('g_num is '||g_num); > > end; > > / > > > > You will hit the error > > > > PLS-00371: at most one declaration for 'G_NUM' is permitted in the > > declaration section > > > > > > Try this > > > > create package glb_test as > > g_num number:=10; > > g_num varchar2(10):='test'; > > end; > > / > > > > exec dbms_output.put_line('G_num is '||glb_test.g_num); > > > > You dont hit any error though g_num has been declared twice.... > > > > > > Thanks > > -Manu > > > > > > > > > -- > ---------------------------------------------- > Got RAC? >