[英]SQL Server : insert identity
我有2个表ProductSize
和Product
。
产品表:
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.