Sql Trigger для вставки обновленной записи в другую таблицу - PullRequest
1 голос
/ 22 февраля 2011

Я искал разные учебники в Интернете, но не могу найти то, что мне нужно.

Мне нужно копировать запись в таблицу истории, каждый раз, когда она обновляется.

Есть ли способ сделать это с помощью триггеров, не вводя все мои поля данных?

1 Ответ

1 голос
/ 22 февраля 2011

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

CREATE TRIGGER trg_History AFTER UPDATE ON my_table
FOR EACH ROW INSERT INTO history_table VALUES (NEW.col1, NEW.col2, OLD.col1, OLD.col2 ... etc)

Ключевое слово NEW относится ко всем вставляемым / обновляемым данным, а OLD относится к старым данным до того, как их перезаписать.

Опять же, пожалуйста, будьте более конкретны с информацией, которую нужно вставить, и с тем, что вы 'мы уже пробовали, так как мы можем помочь вам только с общим синтаксисом на данный момент.

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