Rachel Carmichael wrote: > > Dennis, > > That's a good thought, and it works if you don't have grants, > constraints or dependencies on the original table. > > If you drop table1, you lose them all > > Rachel > > --- DENNIS WILLIAMS <[EMAIL PROTECTED]> wrote: > > 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 > >
Hmmm, generating the suitable script from USER_TAB_PRIVS, USER_CONSTRAINTS, USER_IND_COLUMNS and USER_CONS_COLUMNS is not too difficult ... at least if you are familiar with the dictionary. But why the second CTAS ? What about RENAME ? Seems faster to me ... -- Regards, Stephane Faroult Oriole Software -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Stephane Faroult 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).