1 create table test_1( 2 tname number(20), 3 tage varchar2(1024), 4 tmessage varchar(1024) 5 ); 6 select * from test_1; 7 --添加列 8 alter table test_1 add par_var varchar2(1024); 9 --添加多列 10 alter table test_1 add (par_var1 varchar2(1024), par_var2 varchar2(1024)); 11 --修改单列, 长度 12 alter table test_1 modify par_var varchar2(20); 13 --修改单列的类型 14 alter table test_1 modify par_var number(20); 15 alter table test_1 modify par_var varchar2(1204); 16 --修改表的列有数据, 17 -- alter table test_1 modify par_var varchar2(40); 18 -- 会报“ORA-01439:要更改数据类型,则要修改的列必须为空 ”的错误 19 -- 解决方法:修改原字段名-->增加一个和原字段名同名的字段 20 -- -->将原字段name_tmp数据更新到增加的字段-->更新完,删除原字段 21 22 /** */ 23 insert into test_1(par_var) values(1); 24 insert into test_1(par_var) values(2); 25 insert into test_1(par_var) values(3); 26 insert into test_1(par_var) values(4); 27 commit; 28 alter table test_1 rename column par_var to par_var0; 29 alter table test_1 add par_var varchar2(60); 30 update test_1 set par_var = trim(par_var0); 31 commit; 32 alter table test_1 drop column par_var0; 33 34 /*select trim(par_var) from test_1; 35 delete from test_1 where par_var is null; 36 commit; 37 */ 38 update test_1 set par_var = null; 39 commit; 40 41 --修改多列 42 alter table test_1 modify (par_var varchar2(20), par_var1 varchar2(22)); 43 -- 删除一列, 注意需要加column 44 alter table test_1 drop column par_var2; 45 46 -- alter table test_1 add ( par_var2 varchar2(1024)); 47 48 --删除多列, 不需要加column 49 alter table test_1 drop (par_var1, par_var2);
时间: 2024-10-22 10:49:27