重复表数据但修改一列

时间:2013-09-17 09:57:11

标签: sql db2

在表格中,我按年度存储我的申请的参考数据。 现在进入新的一年时,我必须复制所有数据并将其插入表中并增加年份:

示例:

Year    Value1    Value2    Value3
2013    'aaaa'    'bbbb'    'cccc'
2013    'dddd'    'eeee'    'ffff'
2013    'gggg'    'hhhh'    'iiii'

我需要这个成为:

Year    Value1    Value2    Value3
2013    'aaaa'    'bbbb'    'cccc'
2013    'dddd'    'eeee'    'ffff'
2013    'gggg'    'hhhh'    'iiii'    
2014    'aaaa'    'bbbb'    'cccc'
2014    'dddd'    'eeee'    'ffff'
2014    'gggg'    'hhhh'    'iiii'

问题是表中有很多列,所以实际上不是手动选择所有列的选项,但我也不能选择*,因为我需要年份成为2014年。< / p>

有没有办法在1个查询中执行此操作?

2 个答案:

答案 0 :(得分:1)

您可以使用临时表。

select * into #temp from mytable where Year=@curent_year

update #temp set Year=Year+1

insert into mytable select * from #temp

DROP TABLE #temp

答案 1 :(得分:-1)

INSERT INTO YOURTABLE SELECT '2014',Value1,Value2,Value3  from YOURTABLE

这应该有用。