Массовая вставка с использованием хранимой процедуры
У меня есть запрос, который работает нормально:
BULK INSERT ZIPCodes
FROM 'e:\5-digit Commercial.csv'
WITH
(
FIRSTROW = 2 ,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
но теперь я хочу создать хранимую процедуру для него.
Я написал код ниже, чтобы сделать его хранимую процедуру:
create proc dbo.InsertZipCode
@filepath varchar(500)='e:\5-digit Commercial.csv'
as
begin
BULK INSERT ZIPCodes
FROM @filepath
WITH
(
FIRSTROW = 2 ,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
end
но это показывает ошибку:
Сообщение 102, Уровень 15, Состояние 1, Процедура InsertZipCode, Строка 6 Неверный синтаксис рядом с @filepath.
Сообщение 319, уровень 15, состояние 1, процедура InsertZipCode, строка 7 Неправильный синтаксис рядом с ключевым словом «с». Если этот оператор является общим табличным выражением, предложением xmlnamespaces или предложением контекста отслеживания изменений, предыдущий оператор должен заканчиваться точкой с запятой.
Пожалуйста, скажите мне, что я делаю неправильно и что я могу сделать, чтобы это работало в хранимой процедуре.
Спасибо