我有一个文本文件,里边的内容是:
1 北京市 110000
2 市辖区 1101003
3 东城区 110101
4 西城区 110102
5 崇文区 110103
6 宣武区 110104
7 朝阳区 110105
8 丰台区 110106
......
就是地区数据列表,总共有4000行这样的文本数据,现在要将这些文本添加到sqlserver数据库的Area表中,
表的基本结构是 areaID, areaName, areaCode 其中areaID是自增的,
请问怎么样快速将文本文件中的数据添加到Area表中呢?想用:
 insert into Area(areaName, areaCode) values('北京市','110000')
 insert into Area(areaName, areaCode) values('市辖区','1101003')
 insert into Area(areaName, areaCode) values('东城区','110101')
 ......
这样的加,可也太麻烦了,4000多条数据,光拷贝这些 insert into就能让我发疯,请高人指点一下怎么快速添加呀
     

解决方案 »

  1.   

    SQL Server本身就有导入导出的功能啊
      

  2.   

    以下示例使用格式化文件检索用制表符分隔的文本文件 values.txt 中的行,该文件包含下列数据:
    1     Data Item 1
    2     Data Item 2
    3     Data Item 3
     格式化文件 values.fmt 说明 values.txt 中的列:
    9.0
    2
    1  SQLCHAR  0  10 "\t"        1  ID                SQL_Latin1_General_Cp437_BIN
    2  SQLCHAR  0  40 "\r\n"      2  Description        SQL_Latin1_General_Cp437_BIN
     下面的语句是检索此数据的查询: 
    SELECT a.* FROM OPENROWSET( BULK 'c:\test\values.txt', 
       FORMATFILE = 'c:\test\values.fmt') AS a;
     
      

  3.   

    create table #t(id int,a varchar(20),b varchar(20))
    go
    BULK INSERT #t
    FROM 'f:\t.txt'
    WITH (
        FIELDTERMINATOR = ' ',
        ROWTERMINATOR = '\n'
    )insert into Area(areaName, areaCode )
    select a,b from #tdrop table #t
      

  4.   

    直接通过SQL SERVER的导入导出工具DTS(2000),SSIS(2005)将文本导入表即可.
      

  5.   

    --这是使用语句导入的方法.
    BULK INSERT Area
    FROM '路径+文本文件名'
    WITH 
    (
      FIELDTERMINATOR = '',
      ROWTERMINATOR = '\n'
    )
      

  6.   


    --导入文本文档:
    BULK INSERT os
    FROM 'c:\d.txt'
    WITH (
        FIELDTERMINATOR = ',',  --列以逗号隔开
        ROWTERMINATOR = '\n'    --行以换行符隔开
    )
      

  7.   

    直接使用SQL Server提供的导入导出功能,允许将文本文件中的数据导入Table中,只要设置好开始行和分隔符就可以啦。