У меня есть таблица #months
нижеДинамического запрос ошибка переменной
MONTH_ID FISCAL_YEAR_MONTH MIN_DATE MAX_DATE
1 FSA201510 20151001 20151031
2 FSA201511 20151101 20151130
3 FSA201512 20151201 20151204
Я использую ниже динамический запрос, чтобы обновить столбец SCCount
в таблице mastercount
(имеет 3 строки) -
DECLARE @sql VARCHAR(8000), @fym varchar(6)
DECLARE @I INT, @ROWS INT
SET @ROWS=(SELECT count(*) from #MONTHS)
SET @I=1
WHILE @I<[email protected]
BEGIN
SET @fym=(SELECT RIGHT(FISCAL_YEAR_MONTH,6) from #MONTHS where [email protected])
SET @sql = 'UPDATE mastercount'
SET @sql += ' SET SCCount = (SELECT count(*) from '
SET @sql += ' dw_extract.dbo.dw_fsa_' + cast(@fym as varchar(6))+ ') WHERE [email protected]'
EXEC (@sql)
SET @[email protected]+1
END
Это дает Must declare the scalar variable "@I".
Почему это происходит?
Умный ответ. Работал! – Karver01