我确信答案就在我面前,但我似乎找不到一个好的方法来做到这一点。
我有一个包含很多值的字符串,所有这些值都由,
. 我永远不知道(在运行时之前)该字符串中有多少个值。我想将它们插入数据库(在本例中为 SQL Server 2008),但字符串对于 a 来说可能太大了,NVARCHAR(MAX)
所以我创建了一个临时表并希望在其中插入值。
我可以轻松地做这样的事情(我会做一个小例子):
VB
myString = "101,102,103,104,105,106,107,108,109"
For Each value As String in myString.Split(",")
myCommand.CommandText = "INSERT INTO tempTable VALUES @value"
myCommand.Parameters.AddWithValue("@value", value)
Next
C#
myString = "101,102,103,104,105,106,107,108,109";
foreach (string value in myString.Split(','))
{
myCommand.CommandText = "INSERT INTO tempTable VALUES @value";
myCommand.Parameters.AddWithValue("@value", value);
}
但让我们面对现实,这不是这样做的方法。如果我有 8000 条记录,它将导致 8000 条不同的插入,我可能会因为考虑这样做而被解雇。
有人可以指出我正确的方向吗?
tl;博士
带有值的字符串看起来像这样“001,002,003,004,005...8000”我如何插入每个由分隔的值,
而不进行 8000INSERT
语句。