saklı kullanarak ben iyi çalışıyor bir sorgu var:Toplu ekleme işlemi
BULK INSERT ZIPCodes
FROM 'e:\5-digit Commercial.csv'
WITH
(
FIRSTROW = 2 ,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
ama şimdi bunun için bir saklı yordam oluşturmak istiyorum.
Ben onun saklı yordam yapmak için kod aşağıda yazdım:
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
ama onun gösteren hatası:
Msg 102, Level 15, State 1, Procedure InsertZipCode, Line 6 Incorrect syntax near '@filepath'.
Msg 319, Level 15, State 1, Procedure InsertZipCode, Line 7 Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.
ben yanlış yapıyorum söyle ve bunu yapmak için ne yapabilirim lütfen saklı yordamda çalışmak.
Teşekkür
Zaten bunu bir dizgi olarak yaptım ve exec kullanarak çalıştırdığın için teşekkür ederim ama başka çözümler olabileceğini düşündüm. çok teşekkürler. –
marc_s ama prosedürden EXEC sp_executesql @bulkinsert'i çalıştırabilir miyim? Bu yüzden C# arayüzüm SQL prosedürümü arayacak, parametreleri (dosya yolu, tablo adı) iletecek ve onun dizesi oluşturacak ve dinamik SQL'i arayacak mı? – Andrey