0

在一个表中,我按年份存储我的应用程序的参考数据。现在,当进入新的一年时,我必须复制所有数据并将其插入表中并增加年份:

例子:

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'

问题是表中有很多comumns,因此手动选择所有列并不是一个真正的选项,但我也无法选择*,因为我需要将年份变为2014。

有没有办法在 1 个查询中做到这一点?

4

2 回答 2

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
于 2013-09-17T10:05:30.830 回答
-1
INSERT INTO YOURTABLE SELECT '2014',Value1,Value2,Value3  from YOURTABLE

这应该有效。

于 2013-09-17T10:19:38.203 回答