ALTER TABLE table_name ADD (column_name datatype);I'm not sure why you do not want to use the above command as it works great! However, you have another option at your disposal with slightly more work. This option involves copying the data to another table, re-creating the original table and moving the data back:
CREATE TABLE my_table_interim AS SELECT * FROM my_table; DROP TABLE my_table; CREATE TABE my_table ( ....); INSERT INTO my_table (col1, col2 ...) SELECT col1, col2, ... FROM my_table_interim; DROP TABLE my_table_interim;In the INSERT statement above, you will have to explictily denote which columns you are copying from the interim table to the destination table since both tables will have a different number of columns.
This was first published in September 2006