我正在完成一项作业,需要您在SQL数据库中提供以下帮助: -
我有3张桌子
LineItem是一个新娘表,我需要将数据插入LineItem,但它需要ProductID和InvoiceNumber。 在我的情况下,Invoice表是emppty,它将从LineItem表传递的数据中填充。
问题是如何在从lineItem表获取数据之前创建发票?
我将这些表用于在线购物车。
我很难解释这个问题。希望你理解,谢谢!
答案 0 :(得分:1)
听起来您在插入订单项记录之前有一个外键约束强制存在发票记录。很难准确地说,基于你的问题的措辞,但可能是类似的。
--Table variable to hold line items DECLARE @lineItems TABLE ( InvoiceNumber INT, Quantity INT )INSERT INTO @lineitems VALUES(1,1) INSERT INTO @lineitems VALUES(1,2)
--ADD INVOICE RECORD FIRST AND SUM Quantities etc.... INSERT INTO Invoice SELECT InvoiceNumber,SUM(Quantity) FROM @lineItems GROUP BY InvoiceNumber
--NOW YOU CAN ADD LINE ITEMS INSERT INTO LineItems SELECT * FROM @lineItems
如果这是你的目标,这是你可以使用的模式。
如果您想要在用户点击网页上的添加时动态插入这些LineItem。我不会以这种方式使用LineItem SQL表进行缓存。在不了解您的应用程序的情况下,很难说,但您确实应该将此数据缓存在HTTP会话或客户端中(数组,json,本地存储等)。如果您选择将此作为SQL表选择,只需创建一个没有约束的新LineItem,然后在上面类似,您可以使用该表插入LineItem表。