http://dba-oracle.com/t_alter_table_modify_column_syntax_example.htm
For complete tips on Oracle alter table syntax, see the book "Easy Oracle Jumpstart". Oracle provides "alter table" syntax to modify data columns in-place in this form:
alter table
table_name
modify
column_name datatype;
If you are brave you can use a single "alter table" syntax to modify multiple columns:
alter table
table_name
modify
(
column1_name column1_datatype,
column2_name column2_datatype,
column3_name column3_datatype,
column4_name column4_datatype
);
Here are some examples of Oracle "alter table" syntax to modify data columns and note that you can add constraints like NOT NULL:
ALTER TABLE
customer
MODIFY
(
cust_name varchar2(100) not null,
cust_hair_color varchar2(20)
)
;
We can also use Oracle "alter table" syntax in dynamic PL/SQL to modify data columns
BEGIN
SQL_STRING := 'ALTER TABLE '||:TABLE_NAME||' MODIFY '||:COLUMN_NAME||' VARCHAR2(100)';
. . .
END;