【发布时间】:2014-12-17 07:51:37
【问题描述】:
我希望有人可以在这里帮助我, 我正在使用 SQL Server,使用 4 个表。
- 发票
- 发票行
- 账本
- 历史
每次我需要创建发票时,我还需要生成一个序列号,并通过使用事务(使用 wpf - vb.net ado.net Transactions)将其用于更新或插入其他表 所以换句话说,我需要知道下一个发票 ID 并能够将其用于其他表以进行插入/更新
请注意,它将在多台计算机上使用,因此发票 ID 在创建时不应与另一个发票 ID 冲突
我在这里和那里阅读了几个关于堆栈溢出的论坛,建议首先必须插入然后检索它,然后更新任何其他表。在我的情况下,如果一切正常,我需要它使用一个事务并提交它们很好
我还阅读了另一种方法,例如 SQL 可以生成数字序列
下一个值。如果出现问题,的下一个值将增加 1,并让失败的值落后。
谁能给我任何有用的链接或他自己的想法我该如何解决这个问题?
现在查询发票获取最大 InvoiceID 并在执行前几毫秒将其增加 1,因此正在消除有人可以获得相同发票 ID 但又不是 100% 正确的情况。
抱歉,描述太长了 任何帮助深表感谢。
【问题讨论】:
标签: sql-server vb.net