如何使用SSIS从两个或多个表执行连接和更新?

时间:2016-07-26 07:37:52

标签: sql-server-2008 ssis

我正在研究SSIS上的ETL任务。在这个任务中,我试图更新一个表'Vendor',我想在另一个表中使用'where'子句中的一些引用和条件。这就是我想要做的事情 -

ALTER TABLE Vendor ADD Imported BIT
Update  Vendor
SET     Imported = 1
-- (133 row(s) affected)

Update  Vendor
SET     Imported = 0
where   VendorName in (Select VendorName from MyDatabase..Vendor)

Update  l
SET     VendorName = t.VendorName,  -- Vendor name looks imported one has proper Capital letters in name, use the one from to-be-imported one
    Address1 = t.Address1,
    Address2 = t.Address2,
    City = t.City,
    State = t.State,
    Country = t.Country,
    PostalZip = t.PostalCode,
    Phone = t.NewPhone,
    Email = t.Email     
From    MyDatabase..Vendor l, Vendor t
where   l.VendorName = t.VendorName
and t.Imported = 0
-- (2 row(s) affected)

请建议我在SSIS包装上应该采用哪种合适的程序。我可以使用Execute SQL Task但是想要使用替代方法,如在执行SQL任务中我必须为每个SQL语句创建一个单独的任务。 您的宝贵回复将受到欢迎。

1 个答案:

答案 0 :(得分:1)

要执行这样的多语句执行SQL任务,必须使用分号结束每个单独的语句。这样做,它会起作用。