使用 SSIS 和目标表上的触发器进行表数据传输

JPR*_*ddy 3 trigger sql-server ssis

我是数据库操作的新手。SQL Server 2008 R2 是我使用的数据库。

我需要将选定的行从临时数据库表移动到生产数据库表。我正在使用 SSIS 包来做到这一点。我在目标表上几乎没有触发器。当我将数据从源表传输到目标表时,我现在很困惑这些触发器是否会被触发。

如果在将数据从源表传输到目标表时不会触发这些触发器,在此数据传输过程中是否可以执行任何操作来触发这些触发器?

给我一些关于上述的信息将不胜感激。

更新:选定的行将被添加到目标表中。触发器将根据新插入的数据更新目标服务器中某个其他表中的数据。例如:

    CREATE TRIGGER [MyTableChange] 
       ON  [dbo].[DestinationTable]
       AFTER INSERT,UPDATE
    AS 
    BEGIN

    declare @newid as int
    select @newid=newid  FROM INSERTED

     Declare @total as int
     declare @lookatme as int
    select @total=total, @lookatme from DestinationTable where newid=@newid
    update anothertable set total=total+@total where lookwhere=@lookatme
    END

GO
Run Code Online (Sandbox Code Playgroud)

上面的触发器是一种示例,与我在原始触发器中的逻辑不完全相同。但它提供了我正在尝试做什么的信息。我将访问新插入的行详细信息以更新另一个表值。请不要将其视为语法和编写方式方面的正确触发器。我只是试图给出原始触发器的本质。

Kin*_*hah 6

如果在将数据从源表传输到目标表时不会触发这些触发器,在此数据传输过程中是否可以执行任何操作来触发这些触发器?

在 OLEDB 连接管理器中,有多种加载数据的选项。如果

  1. 选择使用快速加载选项的表或视图,那么您必须在高级编辑器中明确指定FIRE_TRIGGERS,如下所示:

    在此处输入图片说明

    在此处输入图片说明

  2. 如果选择了表或视图数据访问模式,那么您的触发器应该正常触发,因为插入是逐行完成的。