Deepak, If there are many columns on these tables, your method may be best.
However, this will generate a lot of redo. You can usually accomplish this
with a CTAS nologging, which won't generate redo. If you really don't want
to change the location, you can:
    create table temp as select * from table1 nologging
    drop table table1
    create table table1 (column, column . . . ) as select * from temp
nologging
    drop table temp
 



Dennis Williams 
DBA, 40%OCP 
Lifetouch, Inc. 
[EMAIL PROTECTED] 

-----Original Message-----
Sent: Thursday, October 24, 2002 3:15 PM
To: Multiple recipients of list ORACLE-L


We have a need to change the datatype of several columns in a table from
number to varchar2. Most of the rows have data in these columns hence a
direct 'alter table ...' will not work. 
 
We plan to create a temp table, move the data from these colums to that
table, modify the column datatype from number to varchar2 and then update
the colums with the data that was moved to the temp table.
 
Any suggestions/comments or a better way to do this ? Oh, and we are on
8.1.7.1
 
thanx
deepak 
 

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: DENNIS WILLIAMS
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to