फ़ाइल नाम चर को एक स्ट्रिंग में बल्क इंसर्ट स्टेटमेंट के साथ इंजेक्ट करने के लिए डायनेमिक SQL का उपयोग करें और sp_executesql
का उपयोग करें इसे निष्पादित करने के लिए। पथ मान्य है या नहीं यह जाँचने के लिए आप कुछ त्रुटि जाँच जोड़ना चाह सकते हैं।
CREATE PROCEDURE [importFile] (@filePath VARCHAR(MAX))
AS
BEGIN
CREATE TABLE #Temp
(
row1 int,
row2 varchar(5),
row3 bit
)
DECLARE @SQL NVARCHAR(MAX) = ''
SET @SQL = N'
BULK INSERT #Temp
FROM ''' + @filePath + '''
WITH (
FIELDTERMINATOR = '','',
ROWTERMINATOR = ''\n''
)'
-- ...
EXEC sp_executesql @SQL
END
-- to run it:
EXEC importFile 'd:\test.csv'