BULK INSERT到表格并自动增加

时间:2013-05-01 14:34:55

标签: sql-server sql-server-2008 bulkinsert data-import

我有一个格式为.txt的文件:

123456
111111
122222
123344
121212

我希望将这些内容与一个整数一起插入临时表中,记录它们在.txt文件中的顺序,例如:

Index    Number
---------------
1        123456
2        111111
3        122222
4        123344
5        121212

目前我通过在我的临时表中添加IDENTITY列并使用BULK INSERT执行FORMATFILE来实现此目的:

CREATE TABLE #tbl
(   
    idx int NOT NULL IDENTITY,
    ItemNumber nchar(6)
)


BULK INSERT #tbl 
FROM 'd:\MyNumberList.txt'
WITH 
(
     FORMATFILE='d:\MyFormatFile.xml'
)

但是,我希望能够在不需要FORMATFILE文件的情况下实现这一目标。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用view执行此操作。但是,因为您在此处使用临时表,并且无法在临时表上创建视图,所以您还需要使用同义词。

如果您要导入常规表,则不需要同义词:

create synonym tbl for #tbl
GO

create view vtbl
as
select ItemNumber from tbl
GO

bulk insert vtbl from 'd:\MyNumberList.txt'
GO

select * from #tbl
GO