2

I have a table dic that has 2 columns english and bangla. I want to insert data into only the bangla column using bulk insertion from a text file.

I tried which can insert into 2 column

BULK INSERT dic
FROM 'C:\Users\Imon-Bayazid\Desktop\wordddd\good one\test.txt'
WITH
(
   FIELDTERMINATOR = '\n',
   ROWTERMINATOR = '\n'
)  

But how can I do into one specific column???

4

1 回答 1

2

您可以使用格式文件从源文件中的字段映射到目标表中的字段。

我假设您知道批量插入仅用于插入新行,而不用于更新。

所以你可能有这样的格式文件:

<?xml version="1.0"?>
<BCPFORMAT 
     xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <RECORD>
  <FIELD ID="1" xsi:type="CharTerm" TERMINATOR="\n"/>
  ... other fields?
 </RECORD>
 <ROW>
  <COLUMN SOURCE="1" NAME="bangla"/>
 </ROW>
</BCPFORMAT>

表 'dic' 中的任何其他列都需要可以为空或具有默认值。

然后将格式文件指定为 BULK INSERT 语句的选项

BULK INSERT dic
FROM 'C:\Users\Imon-Bayazid\Desktop\wordddd\good one\test.txt'
WITH
(
   FIELDTERMINATOR = '\n',
   ROWTERMINATOR = '\n',
   FORMATFILE = 'path to my format file.xml'
) 
于 2013-02-16T16:48:47.263 回答