home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.databases.oracle      Overblown overpriced overengineered SHIT      2,288 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 2,081 of 2,288   
   Frank van Bortel to All   
   Re: PL/SQL Object Question   
   16 Apr 05 16:22:16   
   
   From: fvanbortel@netscape.net   
      
   daviscomp20 wrote:   
   > Hi -   
   >   
   > I've created the following SuperType object in Oracle :   
   >   
   > CREATE OR REPLACE TYPE CT_CALC_UT as object (   
   > ct_plant_nm varchar2(50),   
   > ct_value number,   
   > MEMBER function get_PlantNm return varchar2,   
   > MEMBER procedure set_CT_Val(pi_ct_val in number)   
   > ) not final   
   >   
   >   
   > and the following Type Body :   
   >   
   > create or replace type body ct_calc_ut is   
   >   
   > member function get_PlantNm return varchar2 is   
   > v_plant_nm varchar2(50);   
   > begin   
   > v_plant_nm := self.ct_plant_nm;   
   > return v_plant_nm;   
   > end get_PlantNm;   
   >   
   > member procedure set_ct_val(pi_ct_val in number) is   
   > begin   
   > ct_value := pi_ct_val;   
   > end set_ct_val;   
   >   
   > end;   
   >   
   > Also, I've created the following subtype with it's own type body:   
   >   
   > CREATE OR REPLACE TYPE CT_CALC_SP_UT UNDER CT_CALC_UT   
   > (   
   > Sed_Basins_in_service number(2),   
   > Sed_Raw_flow_rate number(7,3),   
   > Sed_flocc_free_cl number(7,3),   
   > Sed_settled_free_cl number(7,3),   
   > App_ph number(7,3),   
   > Fltrs_free_cl number(7,3),   
   > Fltrs_flow_rate number(7,3),   
   > Fltrs_temp number(7,3),   
   > Fltrs_ph number(7,3),   
   > MEMBER function displayVals return varchar2   
   > )   
   >   
   > create or replace type body ct_calc_sp_ut is   
   > member function displayVals return varchar2 is   
   > ...   
   > ..   
   > ..   
   > ..   
   > ..   
   > v_ct_value := v_tot_LGiardia_Rmvl_Cred / v_log_giardia_removal_const;   
   >   
   >   
   > self.set_ct_val(v_ct_value); !!!! Error Message is Coming here !!!!!!   
   >   
   >   
   > ...   
   > ...   
   > end displayVals;   
   >   
   > I keep getting an error message, Compilation errors for TYPE BODY   
   > BMARINI.CT_CALC_SP_UT   
   >   
   > Error: PLS-00363: expression 'SELF' cannot be used as an assignment   
   > target   
   > Line: 138   
   > Text: self.set_ct_val(v_ct_value);   
   >   
   > Error: PL/SQL: Statement ignored   
   > Line: 138   
   > Text: self.set_ct_val(v_ct_value);   
   >   
   > I'm not sure what is going on with this....I have seen plenty of   
   > examples where an object type is being modified from within a   
   > procedure...and I'm prety stumped as to what is going on. If anyone   
   > has any help...or ideas, please let me know.   
   >   
   > Thanks.   
   >   
      
   This ng is dead - not all isp's carry it, regulars do not read it.   
   Repost in c.d.o.tools   
   --   
   Regards,   
   Frank van Bortel   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca