Sql 如何为具有多个插入的每个事务获取唯一ID

Sql 如何为具有多个插入的每个事务获取唯一ID,sql,sql-server,database,Sql,Sql Server,Database,我在前端有两个文本框,分别是productname和No.of.batches…例如,我选择了一个产品“X”,批次数为10。它将得到10行,用户将在用户单击“提交”时插入数据。它也将反映在数据库中…我的要求是为每个事务自动生成一个ID…我必须为整个操作…我应该怎么做才能得到它?创建一个名为transactions with auto generated column的新表 Create table transactions ( transaction_id int identity(1,1)

我在前端有两个文本框,分别是productname和No.of.batches…例如,我选择了一个产品“X”,批次数为10。它将得到10行,用户将在用户单击“提交”时插入数据。它也将反映在数据库中…我的要求是为每个事务自动生成一个ID…我必须为整个操作…我应该怎么做才能得到它?

创建一个名为transactions with auto generated column的新表

Create table transactions 
(
transaction_id int identity(1,1) Primary key,
product_name varchar(50),
No_of_batches int
)

每当有新的交易时,首先在交易表中添加一个条目,并在目标表中为所有X记录引用自动生成的valuetransaction\u id,我假设您谈论的是财务交易,而不是数据库交易,但这两种交易都适用

根据上面prdb的回答,创建一个用于存储事务头信息的表,不要将其称为事务,因为这是一个保留字。换个说法吧。 在该表中添加适当的外键引用。 然后插入的内容如下所示:

插入到事务标题表中,并使用OUTPUT或另一个select来获取id 根据需要将事务标头id作为外键添加到其他表中。
同样,这也是金融交易的标准。对于db事务,也可以使用相同的方法。

Make identity column..我使用了identity,但每次插入都会获得新的事务id,但我希望对具有多个插入的单个事务使用ir。我认为您的问题应该是如何为bach设置一个事务id。在这种情况下,创建一个无用的批处理表,在那里生成标识并用于批处理,或者您可以使用squence..我确定事务不是一个关键字检查,在末尾有一个s;在Prdp处检查此项一次