1

我正在处理一项任务,需要您在 SQL 数据库中提供以下帮助:-

我有 3 张桌子

  1. 产品
  2. LintItem
  3. 发票

LineItem 是一个新娘表,我需要将数据插入 LineItem,但它需要 ProductID 和 InvoiceNumber。在我的例子中,Invoice 表是空的,它将由 LineItem 表传递的数据填充。

问题是如何在获取 lineItem 表中的数据之前创建发票?

我正在将这些表用于在线购物车。

我真的很难解释这个问题。希望你能理解,谢谢!

4

1 回答 1

1

听起来您有一个外键约束,在插入行项目记录之前强制存在发票记录。根据您问题的措辞,很难准确地说出,但可能类似于。

--用于保存行项目的表变量
声明@lineItems 表
(
   发票号 INT,
   数量 INT
)

插入@lineitems 值(1,1) 插入@lineitems 值(1,2)

--首先添加发票记录和数量等...... 插入发票 选择发票号码,总和(数量) 来自@lineItems 按发票号码分组

--现在您可以添加订单项 插入到 LineItems SELECT * FROM @lineItems

如果这是您的目标,这是您可以使用的模式。

如果您想在用户单击网页中的“添加”时即时插入这些 LineItem。我不会以这种方式使用您的 LineItem SQL 表进行缓存。在不了解您的应用程序的情况下很难说,但您确实应该将这些数据缓存在 HTTP 会话或客户端中(数组、json、本地存储等)。如果您选择将其作为 SQL 表执行,只需创建一个没有约束的新 LineItem,然后类似地按照上述方法,您可以使用该表插入到您的 LineItem 表中。

于 2013-07-21T00:45:38.027 回答