मैंने पाया कि मैं BULK INSERT
. का उपयोग करके स्रोत तालिका क्रम को संरक्षित करने में सक्षम हूं एक फ़ाइल में, उसके बाद एक पहचान जोड़कर।
एक टैब-सीमांकित तालिका को देखते हुए, C:\MyTable.txt
, जहां मैंने जानबूझकर पंक्तियों को क्रम से हटा दिया:
FileName FileType
wmsetup log
bar txt
wmsetup10 log
WMSysPr9 prx
WMSysPrx prx
Wudf01000Inst log
xpsp1hfm log
_default pif
0 log
002391_ tmp
005766_ tmp
मैंने निम्नलिखित को चलाया और SQL सर्वर में टेक्स्ट फ़ाइल क्रम को संरक्षित किया:
IF EXISTS(
SELECT 1
FROM sys.tables t
INNER JOIN sys.schemas s on s.schema_id=t.schema_id
WHERE t.name='myTable'
AND t.[type]='U'
AND s.name='dbo'
)
DROP TABLE myTable
GO
CREATE TABLE dbo.myTable(FileName VARCHAR(80), FileType VARCHAR(30))
GO
BULK INSERT myTable FROM 'C:\MyTable.txt' WITH (
firstrow=2
, fieldterminator='\t'
, rowterminator='\n'
)
GO
ALTER TABLE myTable ADD ID INT IDENTITY(1,1)
GO
SELECT * FROM myTable
GO
परिणाम:
FileName FileType ID
--------------- -------- -----------
wmsetup log 1
bar txt 2
wmsetup10 log 3
WMSysPr9 prx 4
WMSysPrx prx 5
Wudf01000Inst log 6
xpsp1hfm log 7
_default pif 8
0 log 9
002391_ tmp 10
005766_ tmp 11