我知道要做一个批量插入我可以做类似的事情:
BULK INSERT tblName FROM 'c:\bulktext.text' With (FIELDTERMINATOR = ',')
我在bulktext.text中只有4列,但tblName有20列。如何仅将这5列插入到tblName中。
有没有办法说明应该在BULK语句中插入哪些列
答案 0 :(得分:4)
虽然您可以使用格式文件来处理BULK INSERT
,但我觉得这种方法非常麻烦且容易出错。因人而异。其他想法:
在之前的项目中,我们使用了(3)我们的巨大优势 - 我们能够重新编写文件,而无需使用无用数据打扰SQL,并且在管道中更早地拒绝无效数据。
答案 1 :(得分:0)
答案 2 :(得分:0)
您需要使用格式文件
答案 3 :(得分:0)
您可以使用Microsoft推荐的特制格式文件方法,如BOL here中所述 如果这是一个问题,您需要使用上面的@Aaron Bertrand方法。
答案 4 :(得分:0)
信不信由你,创建一个仅映射那四列的视图,然后BULK INSERT
也可以,它比格式文件容易得多。
但是@ AaronBertand关于使用专用登台表的建议确实是一个更好的主意(大多数DBA通常都是这样做的。)