2010-02-13 57 views

回答

2

没有数据库引擎独立的方式来做到这一点。 每个DB服务器都有自己的方式(例如Sybase的bcp)。

可能有一些第三方产品可以为您完成这项工作,但它仅仅是一个围绕特定服务器方法的包装(如果您正在寻找,您可能需要澄清您的问题)。

注意:由于被记录(与bcp不同,INSERTs比本地批量插入慢很多),因此Mark建议的做一堆INSERT绝对不一样。

+0

批量插入也会被记录(并检查外键,索引更新等)。 – 2010-02-13 22:25:58

+0

bcp: - 不调用触发器 - 不在SQL服务器或sybase上以快速模式记录单个插入。 – DVK 2010-02-14 01:10:06

+0

bcp可能不会这样做,但'SqlBulkCopy'不支持触发器(如果您愿意的话)。如果您的数据库正在使用完整恢复模式,那么即使是bcp操作也会被完全记录 - http://msdn.microsoft.com/zh-cn/library/ms191244.aspx – 2010-02-14 13:51:03

0

独立于数据库批量插入解开?不可能。

我能想到的最接近的是用这样的行创建一个插入脚本:

INSERT INTO TableName (...) VALUES (...); 

它会压缩得很好,所以你可能要gzip压缩它。

虽然你可能更喜欢坚持数据库特定的命令。 “独立于数据库”通常只是“慢”的同义词。