数据库操作

--修改字段类型

--oracle

1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:
alter table tb modify (name nvarchar2(20));

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

3、假设字段有数据,由nvarchar2则改为clob不可以直接执行:

alter table tb modify (name long);

alter table tb modify (name clob);

--创建一张表结构与另一张表结构相同数据也相同(不包括默认值、主键等等)

--sqlserver

select oldTable.a,oldTable.b   into newTable(newTable.x1,newTable.x2) from oldTable where ...

--oracel

create table a2 as select * from a 

--根据一张表更新另一张表数据

-----sql sqlserver

update t_yfwebs_ques set t_yfwebs_ques.answer=t_yfwebs_ques2.anwer1 from t_yfwebs_ques2,t_yfwebs_ques
where t_yfwebs_ques.ques_id=t_yfwebs_ques2.ques_id

---oracle 

merge into t_yfwebs_ques a
using t_yfwebs_ques2 b
on(a.ques_id = b.ques_id)
WHEN MATCHED THEN
UPDATE
SET a.answer = b.anwer1;
commit;

 

--(自己的经验)将有数据的表中的nvarchar2 改为 varchar

--先复制一张一模一样的表

create table T_COLLCOMB2 as select * from T_YFCW_COLLCOMB

--将修改字段的表数据删除

delete T_COLLCOMB;

--修改表字段
alter table T_COLLCOMB modify COMB_NAME VARCHAR2(1000);
alter table T_COLLCOMB modify COLLCOMB_REMARK VARCHAR2(2000);
alter table T_COLLCOMB modify COLLCOMB_STATE VARCHAR2(10);
alter table T_COLLCOMB modify IS_DEL VARCHAR2(3);

--向表中添加原来的数据
insert into T_COLLCOMB select * from T_YFCW_COLLCOMB2;

--删除复制的表

drop table T_COLLCOMB2;

posted @ 2015-05-06 12:57  JIN__JIN  阅读(181)  评论(0编辑  收藏  举报