需將變數值拼入 SQL 字串,再用 EXEC 執行:
DECLARE @tempStr VARCHAR(350)
SELECT @tempStr = 'UPDATE weekcount SET [' + CONVERT(VARCHAR, @week) + '] = [' + CONVERT(VARCHAR, @week) + '] + 1 WHERE userid = ''' + REPLACE(@user, '''', '''''') + ''''
EXEC(@tempStr)
EXEC 無法直接返回變數值(需用 OUTPUT 參數或暫存表)。REPLACE 雙單引號或參數化查詢(sp_executesql)。