我有2个表ProductSize
和Product
。
产品表:
ProductID ProductCode ProductSizeID
产品尺寸表:
ProductSizeID PackperCase ItemsperCase ItemSize
我有一个存储过程来填充这两个表,但是我不能填充Products
表而不填充Product Size
表(因为我需要productsizeID
)。
我该如何解决这个问题?
我需要显示我刚刚插入Productsize
表的最后一个ID的内容。存储过程一次插入1条记录,但我真的不想使用MAX()
来获取ID,因为数据库中可能正在进行其他操作。
答案 0 :(得分:2)
您需要先将行插入ProductSize
并获取ID:
INSERT INTO dbo.ProductSize(PackPerCase, ItemsPerCase, ItemSize)
VALUES( ....., ....., .....);
DECLARE @NewID INT = SCOPE_IDENTITY();
然后在第二次插入Products
表中使用它:
INSERT INTO dbo.Products(ProductCode, ProductSizeID)
VALUES( ....., @NewID);
你已经完成了!