dbTalk Databases Forums  

Alter Table to Specify Column Ordering

comp.databases.oracle.misc comp.databases.oracle.misc


Discuss Alter Table to Specify Column Ordering in the comp.databases.oracle.misc forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
 
Posts: n/a

Default Alter Table to Specify Column Ordering - 12-20-2004 , 03:23 AM






I am using Oracle. When I define the new tables, I need to add one column
at a time (or a few columns at a time for large table) using 'alter table
add column_name...'. Is there any way I can modify the ordering of the
columns using the 'alter table' command? Because later on, I have some old
scripts using insert which rely on pre-defined column ordering in table
definition:

insert into table_name
values (...);
-- without explicit column names specified which means the ordering of
columns is important

Thx for advising




Reply With Quote
  #2  
Old   
Rauf Sarwar
 
Posts: n/a

Default Re: Alter Table to Specify Column Ordering - 12-20-2004 , 03:59 AM






If you had properly written your insert statements to begin with i.e.
insert into blah (all columns) values (all values); then you would not
be in this predicament.

Even though you can "re-arrange" the ordering of the columns by going
thru few steps.... I would suggest you correct your old scripts and
include column names in the insert statements. This will be a better
solution in the long run.

Regards
/Rauf


Reply With Quote
  #3  
Old   
Thomas Kyte
 
Posts: n/a

Default Re: Alter Table to Specify Column Ordering - 12-20-2004 , 06:56 AM



In article <41c69a0b$1_2 (AT) rain (DOT) i-cable.com>, <tncc> says...
Quote:
I am using Oracle. When I define the new tables, I need to add one column
at a time (or a few columns at a time for large table) using 'alter table
add column_name...'. Is there any way I can modify the ordering of the
columns using the 'alter table' command? Because later on, I have some old
scripts using insert which rely on pre-defined column ordering in table
definition:

insert into table_name
values (...);
-- without explicit column names specified which means the ordering of
columns is important

Thx for advising



as the other person pointed out -- relying on the order of columns like that is
hugely bad. It would be preferable to fix the scripts.

But, you can use views

rename table T to t_table;

create view T as select <columns in whatever order you like> from t_table;

alter table t_table add foobar number;

create or replace view T as select <columns in whatever order you like> from
t_table;


--
Thomas Kyte
Oracle Public Sector
http://asktom.oracle.com/
opinions are my own and may not reflect those of Oracle Corporation


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.