Я не могу понять ваш вопрос правильно, это вы ищете?
Ниже код будет циклически трижды вставляться в соответствующие столбцы.
Примечание: Вы не можете реализовать переменную таблицы с динамическим SQL. Для этой цели вам необходимо использовать физическую или временную таблицу.
DECLARE @fmth varchar(32) = 'January.February.March';
DECLARE @smth varchar(32) = 'April.May.June';
DECLARE @tmth varchar(32) = 'July.August.September';
DECLARE @fomth varchar (32) = 'October.November.December';
DECLARE @mth varchar(10);
DECLARE @i INT =3;
CREATE TABLE #Report
(Year smallint, January int, February int, March int, April int, May int, June int, July int, August int,
September int, October int, November int, December int)
WHILE(@I > 0)
BEGIN
DECLARE @IChar Varchar(5) = CAST(@I AS VArchar(5))
DECLARE @Month1 varchar(20) = PARSENAME(@fmth,@i)
DECLARE @Month2 varchar(20) = PARSENAME(@smth,@i)
DECLARE @Month3 varchar(20) = PARSENAME(@tmth,@i)
DECLARE @Month4 varchar(20) = PARSENAME(@fomth,@i)
-- Do Insert operation here
DECLARE @MyDynamicSQL VARCHAR(4000)
= 'INSERT INTO #Report('[email protected]+','[email protected]+','[email protected]+', '[email protected]+')
VALUES ('[email protected]+','[email protected]+','[email protected]+','[email protected]+')'
EXEC(@MyDynamicSQL)
SET @i = @I - 1
END
SELECT * FROM #Report
DROP TABLE #Report
Покажите нам, что вы пробовали до сих пор? – Ako
DECLARE fmth varchar (32) = 'January.February.March'; DECLARE smth varchar (32) = 'April.May.June'; DECLARE tmth varchar (32) = 'July.August.September'; DECLARE fomth varchar (32) = 'October.November.December'; DECLARE mth varchar (10); DECLARE i tinyint = 3; DECLARE Report Таблица ( \t Год SMALLINT, \t января INT, \t февраля INT, \t марта INT, \t апреля INT, \t Может ИНТ \t Juni INT, \t июля INT, \t августа ИНТ , \t сентябрь int, \t октябрь int, \t ноябрь int, \t декабря INT ) ПОКА я> 0 НАЧАТЬ \t MTH = ParseName (fmth, я) \t вставки в отчет (МТХ) \t я = я - 1; END – Fili
также с @ потому что они переменные, но у меня недостаточно времени, чтобы выяснить, как их добавить – Fili