0
我需要創建T-SQL語句字符串以在while循環中更新表。如何創建用於更新表的T-SQL語句字符串
WHILE @currentDayCount <= @amountOfDays
BEGIN
SELECT @totalErros = COUNT(*)
FROM ErrorLog
WHERE StatusCode = 417
AND Response LIKE '%' + @mensagemResponse + '%'
AND CAST(CreationDate AS DATE) = CAST(@dataPesquisa AS DATE)
SET @SQL = 'UPDATE #AnaliseDeErros417 SET ' +
CAST(FORMAT(CAST(@dataPesquisa AS DATE), 'dd/MM') AS VARCHAR(10)) +
' = ' + CAST(@totalErros AS VARCHAR(8)) + ' WHERE Id = ' + CAST(@contadorMensagens AS VARCHAR(1));
EXECUTE(@SQL)
SET @dataPesquisa = DateADD(DAY, 1, @dataPesquisa)
SET @currentDayCount = @currentDayCount + 1;
END
除更新SQL語句外,所有工作都正常。
你真的有每個dd/MM的專欄嗎? >在''quotename()''''''''quotename(CAST(FORMAT(CAST(@dataPesquisa AS DATE),'dd/MM')AS VARCHAR(10)))'' – SqlZim
看起來像你正試圖以艱難的方式建立一個數據透視表。那是你在做什麼? – SqlZim