OUTPUT子句出现问题

时间:2018-10-02 06:44:32

标签: sql sql-server

请参考以下代码。

1)如何将tias.InventoryID插入@TempIDList中。我收到语法错误,说tias未定义。

2)通过使用以下代码中的SELECT语句选择它,可以避免(1)中的问题。但这带来了另一个问题,说Column Count Mismatch

如何同时完成两项任务。

任务1:插入[Product].[ProductSupplier]表中。

任务2:将Tast 1的输出插入@TempIDList

INSERT INTO 
[Product].[ProductSupplier](ProductID,SupplierID) 
OUTPUT INSERTED.ID,tias.InventoryID INTO @TempIDList(ProductID,InventoryID)
        SELECT 
            tias.ProductID
            ,tias.FromID
        FROM 
            [Product].[ProductSupplier] ps 
            INNER JOIN @TempInventoryStock tias ON tias.SupplierID = ps.ID 
        WHERE 
            tias.SupplierID <> tias.FromID;

1 个答案:

答案 0 :(得分:0)

在输出子句中替换tias

INSERT INTO 
[Product].[ProductSupplier](ProductID,SupplierID) 
OUTPUT INSERTED.ID,INSERTED.InventoryID INTO @TempIDList(ProductID,InventoryID)
        SELECT 
            tias.ProductID
            ,tias.FromID
        FROM 
            [Product].[ProductSupplier] ps 
            INNER JOIN @TempInventoryStock tias ON tias.SupplierID = ps.ID 
        WHERE 
            tias.SupplierID <> tias.FromID;