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)
上面的触发器是一种示例,与我在原始触发器中的逻辑不完全相同。但它提供了我正在尝试做什么的信息。我将访问新插入的行详细信息以更新另一个表值。请不要将其视为语法和编写方式方面的正确触发器。我只是试图给出原始触发器的本质。
如果在将数据从源表传输到目标表时不会触发这些触发器,在此数据传输过程中是否可以执行任何操作来触发这些触发器?
在 OLEDB 连接管理器中,有多种加载数据的选项。如果
选择使用快速加载选项的表或视图,那么您必须在高级编辑器中明确指定FIRE_TRIGGERS,如下所示:
如果选择了表或视图数据访问模式,那么您的触发器应该正常触发,因为插入是逐行完成的。
归档时间: |
|
查看次数: |
5485 次 |
最近记录: |