Вставить строку копирования триггера в другую дублирующую таблицу SQL Server 2008 - PullRequest
5 голосов
/ 21 марта 2012

Обзор: Попытка записи триггера для базы данных SQL Server 2008.TableA и TableB имеют одинаковую схему.

Цель: При вставке в TableA скопируйте все в этой строке в новую строку в TableB

Примечания к настоящему моменту:

Использование этого вопроса Мне удалось решить большинство вопросов, но затем наткнулся на проблему с

Невозможно использовать столбцы text, ntext или image в таблицах «вставлен» и «удален».

У меня просто есть текстовые столбцы, но я тоже хочу их скопировать.

Я нашел этот сайт , который, кажется, имеет обходной путь, но работает над обновлением, и я не смог применить его к моему примеру вставки ...

Любые идеи?

Редактировать : цель состоит в том, чтобы добавить функциональность к существующему продукту, я, к сожалению, не могу изменить схему TableA.

1 Ответ

11 голосов
/ 22 марта 2012

Я не уверен, почему вы не можете использовать пример, на который вы ссылались. Это должно быть так просто, как:

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 */

Конечно, ваш вопрос не содержит каких-либо определений таблиц, поэтому приведенное выше потребуется немного изменить. Надеюсь, вы можете решить, что добавить / удалить из вышеупомянутого, где есть комментарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...