2013-09-17 4 views
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' 

Проблема в том, что в таблице много комексов, поэтому на самом деле не обязательно выбирать все столбцы вручную, но я также не могу сделать выбор *, так как мне нужен год, чтобы стать 2014.

Есть ли способ сделать это в 1 запросе?

ответ

1

Вы можете использовать временную таблицу.

select * into #temp from mytable where [email protected]_year 

update #temp set Year=Year+1 

insert into mytable select * from #temp 

DROP TABLE #temp 
-1
INSERT INTO YOURTABLE SELECT '2014',Value1,Value2,Value3 from YOURTABLE 

Это должно работать.

+1

* на самом деле это не вариант выбора всех столбцов вручную * –

+0

это самый простой. next будет столбцами демпинга значений в таблице temp и делает * then –

Смежные вопросы