将触发器复制行插入另一个重复的表SQL Server 2008

bar*_*ron 5 sql-server triggers insert sql-server-2008

概述:尝试为SQL Server 2008数据库编写触发器.TableATableB具有相同的架构.

目标:在插入时TableA,将该行中的所有内容复制到新行中TableB

到目前为止的注释

使用这个问题,我设法得到最大的收获,但后来遇到了问题

无法在"inserted"和"deleted"表中使用text,ntext或image列.

我只有文本列,但我也想复制它们.

我发现这个网站似乎有一个解决方法但是,它正在进行更新,我无法将其应用于我的插入示例...

有任何想法吗?

编辑:目的是为现有产品添加功能,TableA遗憾的是我无法更改架构.

Dam*_*ver 11

我不确定为什么你不能使用你链接的例子.应该这么简单:

CREATE TRIGGER T_TableA_I
on TableA
after insert
as
    set nocount on

    insert into TableB (ColumnA,ColumnB,/* Columns in table b */)
    select a.ColumnA,a.ColumnB, /* Columns from table a */
    from
        TableA a
            inner join
        inserted i
            on
                a.PKColumn1 = i.PKColumn1 and
                a.PKColumn2 = i.PKColumn2 /* Primary Key columns from table A */
Run Code Online (Sandbox Code Playgroud)

当然,您的问题不包含任何表定义,因此上述内容需要进行相当多的修改.希望您可以找出上面添加/删除的内容,其中存在注释.