在表格中,我按年度存储我的申请的参考数据。 现在进入新的一年时,我必须复制所有数据并将其插入表中并增加年份:
示例:
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个查询中执行此操作?
答案 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
这应该有用。