的SQL服務器如何可以插入一個SKU排進表SKU_DATA,然後用手頭所有分支機構和數量插入SKU到庫存表= 2和Quantityonhand = 0。
我需要插入一個SKU項目進入SKUDATA和庫存表對應的行所有現有分支機構Quantityonhand = 2和Quantityonhand = 0
請幫助謝謝
分公司
name varchar (30) not NULL,
managerNum INT NOT NULL
SKU_DATA
SKU Int NOT NULL IDENTITY (1000,1),
description varchar (40) NOT NULL UNIQUE,
department varchar(30) NOT NULL default 'Home Entertainment',
sellingPrice numeric (7,2) NOT NULL
INVENTORY
SKU Int NOT NULL,
branch varchar (30) NOT NULL ,
quantityOnHand Int NOT NUll ,
quantityOnOrder Int NOT NUll
觸發
CREATE TRIGGER NewSku
ON dbo.SKU_DATA
After INSERT
as
begin
SET NOCOUNT ON;
declare
@description varchar (40),
@department varchar(30),
@sellingPrice numeric (7,2)
DECLARE @Output TABLE (SKU INT)
INSERT INTO dbo.SKU_DATA ([DESCRIPTION], DEPARTMENT, SELLINGPRICE)
OUTPUT INSERTED.SKU INTO @Output(SKU)--getting Inserted ID from SKU_DATA to @Output table
VALUES (@description, @department, @sellingPrice);
INSERT INTO INVENTORY (SKU ,branch ,quantityOnHand ,quantityOnOrder)
--Loading SKU information against all branches to INVENTORY
SELECT t.SKU,b.name,2, 0
FROM Branch b
CROSS APPLY (SELECT SKU FROM @Output)t
END
NewSku 17行 無法插入NULL值插入列 '描述',表 'tt.dbo.SKU_DATA';列不允許有空值。 INSERT失敗。
@Tanjim拉赫曼:根據扎克,他想將數據插入SKU_Data表和從表SKU_Data插入的ID被再次插入到Inventory錶針對所有分支。那麼上述查詢中的問題是什麼? –
因爲我是新手,我不知道如何編寫這些代碼所需的一些語法 –
@Tanjim Rahman:我不明白你在說什麼。只有當對SKU_DATA和Inserted ID進行的插入保存到輸出表時,輸出纔會返回值。這是SQL中通常的方法,用於將數據從另一個表的輸出插入到多個表中。 –