繁体   English   中英

SQL Server:插入身份

[英]SQL Server : insert identity

我有2个表ProductSizeProduct

产品表:

ProductID   ProductCode  ProductSizeID

产品尺寸表:

ProductSizeID   PackperCase    ItemsperCase    ItemSize 

我有一个存储过程,可同时填充这两个表,但是如果不填充Product Size表,就无法填充Products表(因为我需要productsizeID )。

我该如何解决?

我需要显示我刚刚插入到Productsize表中的最后一个ID的内容。 该存储过程一次插入1条记录,但我并不是很想使用MAX()获取ID,因为数据库中可能正在发生其他事情。

您需要先将该行插入ProductSize并获取ID:

INSERT INTO dbo.ProductSize(PackPerCase, ItemsPerCase, ItemSize)
VALUES( ....., ....., .....);

DECLARE @NewID INT = SCOPE_IDENTITY();    

然后在第二次插入“ Products表时使用它:

INSERT INTO dbo.Products(ProductCode, ProductSizeID)
VALUES( ....., @NewID);

完成了!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM