|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Firebird 1.5 Хочу в триггере узнать, значение какого поля изменилось. Как-то можно это сделать? Хотел в цикле по списку полей таблицы сравнивать значения NEW и OLD и если не равны, то оно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2017, 17:47 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Hello, Timujin! You wrote on 16 мая 2017 г. 17:52:31: Timujin> Как-то можно это сделать?проверкой КАЖДОГО. Timujin> Хотел в цикле по списку полей таблицы обломись. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2017, 17:53 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Вроде в 4-ке собирались ввести тип "запись" (или структура), там можно будет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2017, 18:17 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Всё равно нельзя. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2017, 18:30 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
для ленивых но неимоверно творческих индивидуумов возможен вариант автоматизированной генерации скрипта создания триггера с проверкой всего сЦущего. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2017, 18:36 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Это от изменений метаданных не спасёт, нужно будет скрипт создания триггеров перезапускать. Ну и триггеры только универсальные - чуть влево/вправо - вручную править. P.S. Ибо нефиг. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2017, 18:41 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovВсё равно нельзя. Это ты про четверку? AFAIU, там можно будет писать или if (OLD.* = NEW.*) (хотя это маловероятно), или что-то вроде "declare a, b of tablerec; a = OLD; b = NEW; if (a = b)". Хотя ХЗ, может и ограничатся только select into a; P.S. Или это я вообще спутал чью-то хотелку и планы птицеводов. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2017, 18:45 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
TimujinFirebird 1.5 Хочу в триггере узнать, значение какого поля изменилось. Как-то можно это сделать? Хотел в цикле по списку полей таблицы сравнивать значения NEW и OLD и если не равны, то оно. это надо было в хотелках озвучить (а может и озвучивалось, не помню) и да что-же в результате, "кто пиво пьет"? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2017, 18:47 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
триггеров на каждое событие можно создавать более одного Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2017, 18:48 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Мимопроходящий> триггеров на каждое событие можно создавать более одного Вы сами такое практикуете, кстати? Когда триггеров на событие становится больше трёх, их становится очень трудно сопровождать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2017, 19:13 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2017, 19:56 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2017, 19:56 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Да ну, в пень такое сопровождать. Я уже навидался такого в своё время, нафик-нафик. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2017, 21:05 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамДа ну, в пень такое сопровождать. Я уже навидался такого в своё время, нафик-нафик. Вот я и говорю - куда бедному крестьянину деваться :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2017, 21:16 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Gallemar> Вот я и говорю - куда бедному крестьянину деваться :) Я своё мнение тебе уже озвучивал, ты громко обиделся, сказал, что я не понимаю твоего стремления к знаниям и т.д. Так что молчи и грызи кактус, он вкусный. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2017, 21:18 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамТак что молчи и грызи кактус, он вкусный. Какие в Сибири кактусы? Ёлки глодаем :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2017, 21:19 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамМимопроходящий> триггеров на каждое событие можно создавать более одного Вы сами такое практикуете, кстати? Когда триггеров на событие становится больше трёх, их становится очень трудно сопровождать. Я триггера создаю по смыслу. Один смысл - один триггер. Смысл прямо в наименивании триггера заявлен. Мне кажется наоборот неудобным когда в один триггер напихано всего что по смыслу между собой не связано. Нужно к примеру изменить поведение некоей системы - я заранее знаю как будет называться триггер на таблице, только их и меняю, не затрагивая остальное. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2017, 03:38 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
fraksЯ триггера создаю по смыслу. Один смысл - один триггер. Смысл прямо в наименивании триггера заявлен. Мне кажется наоборот неудобным когда в один триггер напихано всего что по смыслу между собой не связано. Нужно к примеру изменить поведение некоей системы - я заранее знаю как будет называться триггер на таблице, только их и меняю, не затрагивая остальное. Так оно и должно быть, если ты не мазохист. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2017, 05:00 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамВроде в 4-ке собирались ввести тип "запись" (или структура), там можно будет. AFAIU, там можно будет писать или if (OLD.* = NEW.*) (хотя это маловероятно), или что-то вроде "declare a, b of tablerec; a = OLD; b = NEW; if (a = b)". P.S. Или это я вообще спутал чью-то хотелку и планы птицеводов. Спутал конечно. Недавно что-то такое обсуждалось. Из новых типов там только DECFLOAT и не совсем новый тип BINARY. Возможно ещё будет TIMESTAMP WITH TIMEZONE. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2017, 09:22 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Народ, а есть ли смысл в триггере на изменение конкретного поля? Например, в SQLAnywhere такое есть. Я этим пользовался. Т.е. триггер срабатывает только при изменении значения конкретного поля. Соответственно, уже не надо делать проверку изменилось ли что-то. ТС не это хочет? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2017, 10:13 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
KreatorXXIНарод, а есть ли смысл в триггере на изменение конкретного поля? Смысл есть. В стандарте такое тоже есть. Насчёт планов сделать такое в FB не слышал. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2017, 10:19 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
В теме "Конкурс идей ...", кажется, не упоминалось. Надо бы сделать. И, наверно, не очень сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2017, 10:23 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Невозможность желаемого автору сводится к невозможности использования NEW. и OLD. переменных в запросе. (и, следовательно, невозможности их получения динамически через Execute Statement) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2017, 11:15 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Переделать таблицу из "в ширину" на "в глубину", когда останется одно значимое поле+идентификатор роли поля, проблема будет решена на корню. Остальные сопутствующие проблемы оставляю за рамками, их тоже малёху будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2017, 11:41 |
|
Можно ли в триггере взять значение NEW и OLD по имени поля в переменной?
|
|||
---|---|---|---|
#18+
Симонов Денис> Спутал конечно. Недавно что-то такое обсуждалось. Значит, переоценил чью-то хотелку. Симонов Денис> В стандарте такое тоже есть. Что в стандарте есть, триггер не на таблицу, а на поле? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2017, 14:07 |
|
|
start [/forum/topic.php?fid=40&msg=39454391&tid=1561588]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
567ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 20ms |
total: | 689ms |
0 / 0 |