聽起來好像您在插入訂單項記錄之前有外鍵約束強制存在發票記錄。根據你的問題的措辭很難準確地說出來,但可能是這樣的。
--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表中。
如何插入它,數據的來源是什麼? –
問題是我想插入到Invoice表中的數據將來自LineItem表。例如,ItemPrice * Qantity獲取小計等。 – Jack
數據來自購物頁面。如果用戶點擊添加項目,那麼這將被添加到LineItem表格中,並且如果用戶簽出,那麼我會將數據插入到發票表格中。 – Jack