Я согласен с Митчем Уитом, динамический SQL - это путь. У вас также есть пара других вещей, которые нужно решить, я думаю. Ваш путь к файлу должен быть заключен в кавычки, и я думаю, что после имени файла ошибки может быть случайная точка. Попробуйте что-то вроде:
DECLARE @filepath VARCHAR(30)
DECLARE @current_symbol VARCHAR(30)
DECLARE @sql VARCHAR(8000)
SET QUOTED_IDENTIFIER OFF
SET @current_symbol = (SELECT "tst")
IF @current_symbol is not null
BEGIN
SET @filepath = "C:\Users\stkerr\Desktop\stockPricing\" + @current_symbol + ".prices"
SET @sql = "BULK INSERT stocks.dbo.pricing FROM '" + @filepath + "' WITH ( FIRSTROW = 2, FIELDTERMINATOR=',', ROWTERMINATOR='\n', ORDER ( [date], [open], high, low, [close],volume), ERRORFILE='C:\Users\stkerr\Desktop\stockPricing\errors.txt') "
END
PRINT @SQL -- Check out the result of this, and try and run it by itself.
EXEC (@SQL)
Удачи. Обратите внимание, что мой пример не работает с динамическим SQL, как предложил Митч. Сначала запустите его, а затем снова примените на примере Митча.