Could you preserve the constraints and indices if you do somthing similar like
create table temp as select * from table1 nologging TRUNCATE table table1 ALTER TABLE table1 NOLOGGING; ALTER TABLE table1 MODIFY(column...); Do a direct load insert ALTER TABLE table1 LOGGING; DROP TABLE temp I have not done direct load insert but read it can be done for NOLOGGING Rick DENNIS WILLIAMS <DWILLIAMS@LIFE To: Multiple recipients of list ORACLE-L TOUCH.COM> <[EMAIL PROTECTED]> Sent by: cc: [EMAIL PROTECTED] Subject: RE: Suggestions solicited - Change Column m Datatype from Number to 10/24/2002 04:35 PM Please respond to ORACLE-L 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). -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: 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).