以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教关于insert bulk的使用方法,哪位高手可以解答一下?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189556)

--  作者:尘埃落定
--  发布时间:2023/12/8 11:44:00
--  请教关于insert bulk的使用方法,哪位高手可以解答一下?
关于insert bulk的使用方法,哪位高手可以解答一下?
类似于这样的语句:insert bulk TMP1E2A1E41951111EE80C50050569 ([FACCOUNTID] Int, [FID] Int, [FDETAILNUMBER] NVarChar(2000) COLLATE Chinese_PRC_CI_AS, [FDETAILNAME] NVarChar(2000) COLLATE Chinese_PRC_CI_AS)如何改为insert into语句?
谢谢!

--  作者:wyz20130512
--  发布时间:2023/12/8 12:53:00
--  
Insert bulk 的语法可能因数据库系统而异,以下是在 SQL Server 中使用 Bulk Insert 语句的语法:

```
BULK INSERT tableName
FROM \'data_file\'
WITH (OPTIONS)
```

其中,tableName 表示要插入数据的目标表名;data_file 表示数据文件的路径和名称;OPTIONS 是一些可选项,可以用来指定数据文件的格式、分隔符、编码等信息。

例如,要将名为 data.txt 中的数据批量插入到 students 表中,可以使用如下的 SQL 语句:

```
BULK INSERT students
FROM \'C:\\data.txt\'
WITH (FIELDTERMINATOR = \',\', ROWTERMINATOR = \'\\n\')
```

该语句将 data.txt 文件中以逗号为分隔符的数据批量插入到 students 表中。FIELDTERMINATOR 指定列之间的分隔符,ROWTERMINATOR 指定行与行之间的分隔符。

需要注意的是,使用 Bulk Insert 语句需要满足以下条件:
1. 目标表必须存在且可编辑。
2. 数据文件必须存在且可读。
3. 数据文件中的数据必须符合目标表的数据类型和列顺序。

--  作者:wyz20130512
--  发布时间:2023/12/8 12:54:00
--  
Insert bulk 是一种数据库操作方法,用于高效地批量插入大量数据到数据库表中。相比逐条插入,使用 Insert bulk 可以减少数据库操作的开销,提高插入数据的速度。
--  作者:尘埃落定
--  发布时间:2023/12/8 14:14:00
--  
BULK INSERT的用法网上有介绍,但是insert bulk的用法结束很少很笼统,我到微软官方的网站上查了一下,也没有系统的介绍,有的说不是sql自身的语句,是基于.NET的语句,很迷惑。What is INSERT BULK? (microsoft.com)