关于informix创建临时表并且备份某一字段的方法,急求!!!
我有张表A,表结构是create table A
(
jrownum integer not null ,
itemname varchar(200) ,
a decimal(16,2) ,
organno varchar(30) ,
createdate timestamp ,
reportdate timestamp ,
modifydate timestamp ,
curr_type varchar(10) ,
repgran varchar(10) ,
b decimal(16,2) ,
a_fse decimal(16,2) ,
b_fse decimal(16,2)
)
我需要将A表中的a_fse字段里面的所有数据备份到一个新的临时表A_tmp中,A和A_tmp的表结构完全相同,
最后再将A_tmp中的a_fse字段中的所有数据重新导入A表的a_fse字段,请问sql该怎么写?
首先在创建临时表A_tmp时候报出错误,提示timestamp类型错误
现在需要的sql有以下几个:
1.创建A的临时表A_tmp;
2.将A表中的a_fse字段的所有数据备份到A_tmp表中的a_fse字段;
3.再将A_tmp表中的a_fse字段的所有数据重新更新到A表中的a_fse字段;
麻烦高手指点,O(∩_∩)O谢谢
3. 也就是说a_tmp表中仅有a_fse一个字段有值?? 回复 2# liaosnet
A_tmp的结构和A表是完全一样的,只是a_fse是我关注的数据而已,别的数据不用理会~ 回复liaosnet
A_tmp的结构和A表是完全一样的,只是a_fse是我关注的数据而已,别的数据不用理会~
无间炼狱 发表于 2010-02-25 13:08 http://bbs2.chinaunix.net/images/common/back.gif
那么你需要如何从a_tmp更新表a呢? 总该有条件限制吧... 回复 4# liaosnet
其实主要是因为A表会被删除并且重新创建,而我希望保留住A表在删除之前A表中的a_fse字段中的值,等到A表被删除之后重新新建之后重新把原来A表中的a_fse字段中的数据再给它恢复过去,该怎么办呢? 回复 5# 无间炼狱
1.rename 表a为a_tmp;
2.以表a备份的表结构建立新表a;
3.将a_tmp表的中记录导入到a表中即可.
不知道能不能满足你的需求~ 你应该需要保留的不止是a_fse 字段吧,否则第一个jrownum不允许为空你要填什么?
按你的要求处理是很简单的:
select a_fse from A where 1>2 into temp a_tmp;
drop table A;
create table A
(
jrownum integer not null ,
itemname varchar(200) ,
a decimal(16,2) ,
organno varchar(30) ,
createdate timestamp ,
reportdate timestamp ,
modifydate timestamp ,
curr_type varchar(10) ,
repgran varchar(10) ,
b decimal(16,2) ,
a_fse decimal(16,2) ,
b_fse decimal(16,2)
)
insert into a (a_fse) select a_fse from a_tmp;
页:
[1]