修改表

来源:互联网 发布:软件企业认证资质 编辑:程序博客网 时间:2024/06/11 08:03

1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:

altertable tb modify (name nvarchar2(20));

 

2、假设字段有数据,则改为nvarchar2(20)可以直接执行:

altertable tb modify (name nvarchar2(20));

 

3、假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时要用下面方法来解决这个问题:

 

/*修改原字段名name为name_tmp*/

altertable tb rename column name to name_tmp;

 

/*增加一个和原字段名同名的字段name*/

altertable tb add name varchar2(40);

 

/*将原字段name_tmp数据更新到增加的字段name*/

update tbset name=trim(name_tmp);

 

/*更新完,删除原字段name_tmp*/

altertable tb drop column name_tmp;

 

 

添加字段的语法:alter tabletablename add (column datatype [default value][null/not null],….);

 

修改字段的语法:alter tabletablename modify (column datatype [default value][null/not null],….);

 

删除字段的语法:alter tabletablename drop (column);

 

修改列的名称

 

语法:

ALTERTABLE table_name RENAME COLUMN supplier_name to sname;

 

范例:

alter table s_dept rename column age to age1;


转载自:。。。。时间太久忘记了,感谢原创。


原创粉丝点击