-1

我有 2 张桌子

购买有字段InvoiceNo,它是身份自动编号

PurchaseProduct 具有字段PurchaseProduct_No,即身份自动编号和采购中的InvoiceNo

对于并发,我打算像这样插入

        sqlTran = conn.BeginTransaction();
        try
        {
            insert statments for Purchase
            insert statments for PurchaseProduct
            sqlTran.Commit();
        }
        catch (SqlException ex)
        {
            sqlTran.Rollback();

        }

但是我如何获得采购表的 InvoiceNo 值以在 PurchaseProduct 表中插入 InvoiceNo,因为它是自动编号?

4

1 回答 1

0

Microsoft SQL Server 在@@IDENTITY 系统变量中记录最后一个自动生成的标识值。您可以选择它以在插入后获取您感兴趣的值。

-- Statement to Create Table
CREATE TABLE Purchase(
   InvoiceNo INT IDENTITY(1,1) PRIMARY KEY
 , Product NVARCHAR(128))


-- Insert Statement
INSERT INTO Purchase
   (Product)
  VALUES
   ('Test Product A')
GO
-- Get the auto-generate InvoiceNo for last inserted record
SELECT @@IDENTITY as [InvoiceNo]
于 2013-07-16T15:07:49.513 回答