gpt4 book ai didi

c# - 如何构建此交易?

转载 作者:太空宇宙 更新时间:2023-11-03 18:12:48 25 4
gpt4 key购买 nike

我们有一个基于 ASP.NET/MSSQL 的 Web 应用程序,它生成具有顺序订单号的订单。

当用户保存表单时,会创建一个新订单,如下所示:

  • SELECT MAX(order_number) FROM order_table,调用这个 max_order_number
  • 设置 new_order_number = max_order_number + 1
  • INSERT 一条新订单记录,带有这个 new_order_number(它只是订单记录中的一个字段,而不是数据库键)

  • 如果我在单笔交易中附上以上3个步骤,如果两个客户同时保存一个新订单,是否会避免创建重复的订单号? (假设系统最终位于具有多个 IIS 服务器和一个 MSSQL 服务器的网络场上)。

    我想避免两个客户由于系统某处的并发而选择相同的 MAX(order_number)。

    应该使用什么隔离级别?谢谢你。

    最佳答案

    为什么不直接使用 Identity作为订单号?

    编辑:
    据我所知,您可以将当前 order_number 列设置为身份(您可能必须重置种子,我已经有一段时间没有这样做了)。你可能想做一些测试。
    Here's很好地阅读了当您将列更改为 SSMS 中的身份时实际发生的情况。作者提到如果表已经有数百万行,这可能需要一段时间。

    关于c# - 如何构建此交易?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11655258/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com