为每笔交易创建收据ID

时间:2018-07-12 00:11:50

标签: sql sql-server vba excel-vba

背景

我正在使用Excel UI和VB ADODB后端,以便用户可以将数据插入SQL Server。

由于用户可以自由使用任意数量的行(业务需求),因此我最终使用了pyscript3.py循环来遍历行并逐行插入。

初始代码

FOR

“请求收据ID”列由“ Project_Name”表中的Col6填充。通过查看 For i = 7 To LastRow Command.CommandText = "INSERT INTO [dbo].[TEP_Payments_Table] ([AA Number], " & _ "[AA Name], [Request Receipt Id])" & _ "VALUES (" & _ "'" & Sheets("Project_Name").Cells(i, 2).Value & "'," & _ "'" & Sheets("Project_Name").Cells(i, 3).Value & "'," & _ "'" & Sheets("Project_Name").Cells(i, 6).Value & "')" Command.Execute TEP_Payments_Table中的最后一个ID,可以自动填充该数据。

如果多个用户同时使用它,则会导致重复。

我设法锻炼了如何在标准+1子句中使用OUTPUT INSERTED用户来为每笔交易生成一个ID;使用以下语法:

INSERT INTO

问题

我不愿意将declare @ids table (id int); insert into [dbo].[TEP_Payments_Table] ([col1], [col2]) output inserted.id into @ids values ('testval1', 'testval2'); declare添加到output inserted循环中,因为我不希望它在每一行中都这样做。我希望无论用户插入1行数据还是100行数据都将生成一个id。

这很重要,因为此收据ID将用于跟踪请求的状态。

有什么办法解决这个问题吗?

谢谢

0 个答案:

没有答案