【发布时间】:2021-02-08 19:43:52
【问题描述】:
我有一个请求,为一个处理通话时间充值卡的仓库开发一个库存系统。根据要求,他们可以将序列号加载到数据库中,该数据库至少可以包含大约 1 亿条单独的记录。我需要一个可以接受两个字符串的函数,并使用它来生成该范围内的各个记录,如下所示。但我知道这不是生成和插入数据库的有效方式,请帮助
startserial : 99092110000000
endserial : 99092119999999
代码:
Private Sub Scanin(startserial As String, Endserial As String)
Dim serialnum As Decimal : Dim qry As String
serialnum = CDec(startserial)
For inc As Decimal = serialnum To CDec(Endserial)
qry = "Insert into BatchTemp(SerialNumber) VALUES (@a)"
cmd = New SqlCommand(qry, con)
cmd.Parameters.AddWithValue("@a", serialnum)
cmd.ExecuteNonQuery()
serialnum += 1
Next
End Sub
【问题讨论】:
-
您想要的称为 Tally。有很多关于如何创建这些的示例。
-
"SQL Server Tally 表" -> Google.com
-
不要使用addwithvalue
-
请参阅 here,了解可能是 Itzik Ben-Gan 的最佳示例
-
从 itzik 到最近讨论的好链接 - 尤其是。如果需要 1 亿个值快速(尽管在最坏的情况下 30 秒仍然很短)。
标签: sql-server vb.net