Updating PLSQL Table

From: Deepak Sharma <sharmakdeep_oracle_at_yahoo.com>
Date: Mon, 28 Apr 2008 22:55:08 -0700 (PDT)
Message-ID: <179448.73801.qm@web52812.mail.re2.yahoo.com>


If I have a PLSQL "my_array" table defined as below:

create or replace type my_rec as object (

    emp_id        number,
    emp_name        varchar2

)

/

create or replace type my_array as table of my_rec /

I can select from it w/o problem, even using a WHERE clause :

my_list my_array;

FOR c1 IN (

      SELECT emp_name
        FROM TABLE( CAST( my_list AS my_array))
    WHERE emp_id = 999
)

LOOP
      DBMS_OUTPUT.PUT_LINE( c1.emp_name ); END LOOP; But, is there a way to UPDATE a particular row of that array (just as a Table) ?

Say, I want to update and set emp_name = UPPER(emp_name), for this entire array, how will I do it w/o having to loop across each element? And, #2,, how can I update just specific row(s), say, I want to update emp_name = 'UPPER(emp_name), where emp_id = 123, only.

Any ideas?

Thanks,
Deepak



Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
--
http://www.freelists.org/webpage/oracle-l
Received on Tue Apr 29 2008 - 00:55:08 CDT

Original text of this message