Re: Updating PLSQL Table

From: Stefan Knecht <knecht.stefan_at_gmail.com>
Date: Tue, 29 Apr 2008 07:58:25 +0200
Message-ID: <486b2b610804282258l4a39d2d5p9f0d663fef1a913f@mail.gmail.com>


You can do UPDATE (SELECT) .....

Although there are some limitations.

Cheers

Stefan

On Tue, Apr 29, 2008 at 7:55 AM, Deepak Sharma <sharmakdeep_oracle_at_yahoo.com> wrote:

> 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
>
>
>

-- 
=========================

Stefan P Knecht
Senior Consultant
Infrastructure Managed Services

Trivadis AG
Europa-Strasse 5
CH-8152 Glattbrugg

Phone +41-44-808 70 20
Fax +41-808 70 12
Mobile +41-79-571 36 27
stefan.knecht_at_trivadis.com
http://www.trivadis.com

OCP 9i/10g SCSA SCNA
=========================

--
http://www.freelists.org/webpage/oracle-l
Received on Tue Apr 29 2008 - 00:58:25 CDT

Original text of this message