Генерация сценариев SQL для триггеров - PullRequest
0 голосов
/ 10 мая 2011

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

CREATE TRIGGER scheme.trigger AFTER UPDATE ON scheme.table
  REFERENCING OLD as o_row NEW as n_row
  FOR EACH ROW
BEGIN
  INSERT INTO archive (...) VALUES(...);
END;

Это много печатать.Есть ли простой генератор для создания таких триггеров, вставок, обновлений?

Ответы [ 2 ]

1 голос
/ 12 мая 2011

Если у процесса есть набор входных параметров и процесс с этими параметрами одинаков, вы можете вызвать хранимую процедуру из триггера, передав параметры.Таким образом, вам не нужно переписывать / заново создавать все эти предложения DML.

1 голос
/ 10 мая 2011

Я не знаю инструмента, который генерирует для вас операторы CREATE TRIGGER, но я генерировал этот DDL из запроса много раз, и единственное представление, которое мне когда-либо требовалось для ссылок, было SYSCAT.COLUMNS

Следующие факторы упростят запрос генератора триггера DDL, который вы будете писать: - Имена столбцов между исходной таблицей и таблицей архива идентичны.- Ни один из столбцов в целевой таблице не определен как GENERATED ВСЕГДА, в противном случае вам нужно будет опустить их в операторе INSERT.

...