【发布时间】:2014-02-17 16:46:17
【问题描述】:
我有userIds的列表
List<int> userIds = new List<int>();
我有将它们插入数据库的代码。ExecuteSQL(sql) 是我自己的函数,它抽象出所有数据库特定的逻辑
string iSql = "";
foreach(int id in userIds){
iSql = "insert into users (id) values (" + id + ")";
ExecuteSQL(iSql);
}
我想在一个查询中插入所有这些,而不必像上面那样调用循环, 这在 SQL 中可能吗?
如果是这样,string iSql 会是什么样子?
我找到了Inserting multiple rows in a single SQL query?,
但这可能会创建一个大字符串。
我发现的其他文章要么是其他语言,要么只是令人困惑,因为我无法将它们与我的问题联系起来
(我可以稍后处理参数化,我只需要查询)
【问题讨论】:
-
当您得到一些答案时,您可以使用值 (1)、(2) 最多插入 1000 个。如果超过 1000 则可以使用 TVP。 msdn.microsoft.com/en-us/library/bb510489.aspx
标签: c# tsql bulkinsert sql-insert