|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
ДВС! Сильно не пинайте не DBA от слова совсем, но задачу подкинули. Есть старое купленое ПО без исходного кода. С контроллеров поступают данные в сервис, а дальше в БД. Вторая часть этого ПО вызывает событие оповещения при нахождении новой записи в таблице. Обе части работают как Windows сервисы. БД Firebird 2.5 Задача: Не выводить оповещение по конкретному человеку. Попытался организовать вот таким образом (подсмотрел тут ) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Однако возникла проблема в том, что сервис отвечающий за запись стал выпадать в ошибку. Понял что EXCEPTION мне не подходит. Хотя запись в таблице не появлялась как и положено. Вопрос: можно ли сделать чтобы запись "принималась" и по тригеру удалялась? В моем понимании должно получиться что то вроде этого: Код: sql 1. 2. 3. 4. 5. 6.
В общем нужно удалить вставленную только что строку (или не вставлять ее вовсе но чтоб у сервиса записи не возникло подозрений что она не вставлена). PS: есть еще генератор для каждой строки Код: sql 1.
Может можно его после INSERT как то использовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2021, 18:25 |
|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
diSmiSS, что это за BOSS такой, что стремается светиться в пропускной системе? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2021, 18:42 |
|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
diSmiSS, Так не получится. Один из вариантов сделать view с именем TBL_ALARM, а саму таблицу переименовать. В триггере на вставку игнорировать указанные строки. Но тут "программист нужен", я бы не стал влазить в работающую чужую систему. А каким образом система узнает о новой записи? Может там изменить проверку или удалить эту строку? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2021, 18:42 |
|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
Шавлюк Евгений А каким образом система узнает о новой записи? Может там изменить проверку или удалить эту строку? авторТак не получится. через тригер не получится? Или в целом, ни процедуры, ни тригеры мне не помогут и можно про это забыть? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2021, 19:04 |
|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
diSmiSSчерез тригер не получится? Или в целом, ни процедуры, ни тригеры мне не помогут и можно про это забыть? В данном случае вам поможет только техподдержка вышененазванного продукта. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2021, 19:09 |
|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
Можно написать свой сервис, который регулярно, ну, скажем, раз в минуту, или секунду, будет удалять записи с "неправильным" PERSID. Это на случай, если на работе развлечений мало. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2021, 21:49 |
|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
shalamyansky Можно написать свой сервис, который регулярно, ну, скажем, раз в минуту, или секунду, будет удалять записи с "неправильным" PERSID. Это на случай, если на работе развлечений мало. Безнаказанным все равно не останется. Мы регулярно выдаем сводки по вмешательству в БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 08:52 |
|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
diSmiSS, Как насчет супер-изврата - в триггере AFTER INSERT сделать delete этой же записи? Сам такие извраты не практикую, но по идее эту запись не должна увидеть никакая другая транзакция... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 09:41 |
|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
a7exander, ага. А потом в триггере AFTER DELETE сделать INSERT этой же записи ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 09:44 |
|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
rdb_devчто это за BOSS такой, что стремается светиться в пропускной системе? Он не хочет чтобы оператор заранее знал о его проходе в режимное помещение с целью внезапной проверки. Dimitry Sibiryakov В данном случае вам поможет только техподдержка вышененазванного продукта. shalamyanskyМожно написать свой сервис, который регулярно, ну, скажем, раз в минуту, или секунду, будет удалять записи с "неправильным" PERSID. Это на случай, если на работе развлечений мало. Развлечений предостаточно :) Но за идею спасибо. Попробую с этой стороны зайти. Просто изначально верил, что тригеры меня спасут. Подитожим: 1. SILENT EXCEPTION не существует. 2. TRIGGER с условием AFTER INSERT не может удалить внесенную строку и одновремено ответить клиенту об успешном выполнении операции INSERT. Всем спасибо за участие! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 10:23 |
|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
diSmiSS 2. TRIGGER с условием AFTER INSERT не может удалить внесенную строку и одновремено ответить клиенту об успешном Триггер вообще никому ничего не отвечает. Молча делает. Странно что вам не лень чатиться на форуме но лень проверить предложенное решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 10:34 |
|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
diSmiSS Он не хочет чтобы оператор заранее знал о его проходе в режимное помещение с целью внезапной проверки. или о факте прохода в режимное помещение :) приказ от директора по безопасности, или замена СКУД. можно пересидеть последствия в уютной камере :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 11:13 |
|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
a7exanderТриггер вообще никому ничего не отвечает. Молча делает. Странно что вам не лень чатиться на форуме но лень проверить предложенное решение. Ок, я могу ошибаться в терминологии/принципах работы. Спасибо вам за пояснения. Все решения которые я смог придумать я уже проверил. Еще раз я не DBA-шник. :sorry: ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 11:56 |
|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
a7exanderв триггере AFTER INSERT сделать delete этой же записи? В старые времена такой трюк был способен убить базу. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 12:28 |
|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
diSmiSS Он не хочет чтобы оператор заранее знал о его проходе в режимное помещение с целью внезапной проверки. Или с целью что-то спокойно украсть, а босс тут ни при чем. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 13:00 |
|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
На триггере можно спокойно заменить PERSID на другой. И пусть охрана ловит призраки. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 14:21 |
|
TRIGGER удалить сразу после INSERT
|
|||
---|---|---|---|
#18+
в более-менее приличных СКД, база данных не является единственным источником получения достоверной информации. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 14:31 |
|
|
start [/forum/topic.php?fid=40&fpage=7&tid=1560051]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 266ms |
0 / 0 |