Зацикливание столбцов в старых и новых - PullRequest
2 голосов
/ 17 ноября 2011

Я хочу сделать то, что мне показалось довольно простым. Создайте разделенный запятыми список столбцов, которые изменились в обновлении. например для стола фу:

UPDATE foo SET bar = 8, zoo = "it's a zoo in here";

Используя AFTER триггер обновления на foo, я затем смог бы циклически перебирать столбцы таблицы, сравнивая OLD.col с NEW.col, чтобы определить, изменилось ли оно, и вывести строку "bar, zoo".

Легко, если вы жестко закодируете имена столбцов, но это не вариант для меня. Получить имена столбцов достаточно просто, но как динамически получить значения из NEW и OLD для их сравнения? Есть ли вообще способ сделать это?

1 Ответ

0 голосов
/ 17 ноября 2011

Вы можете попробовать использовать information_schema представления для динамического запроса столбцов в таблице. Затем вы можете использовать курсор для перебора результатов. Это может быть сложно. Я не знаю, поддерживаются ли курсоры в триггерах.

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