|
Как сохранить транзакцию частично в триггере
|
|||
---|---|---|---|
#18+
Коллеги, добрый день Есть триггер AFTER INSERT Код: sql 1. 2.
В триггере при определенных условиях, происходит отмена INSERT в базовой таблице, к которой привязан триггер, и сохранение отмененных данных Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Можно ли тоже самое сделать как то по другому? Более изящно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2020, 16:27 |
|
Как сохранить транзакцию частично в триггере
|
|||
---|---|---|---|
#18+
Сделать instead of триггер и не вставлять те данные, которые вставлять не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2020, 16:30 |
|
Как сохранить транзакцию частично в триггере
|
|||
---|---|---|---|
#18+
Если ограничены только триггером AFTER. Можем только в рамках его делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2020, 16:33 |
|
Как сохранить транзакцию частично в триггере
|
|||
---|---|---|---|
#18+
Challenger Если ограничены только триггером AFTER. Можем только в рамках его делать. Роллбэки в триггере -- очень плохая идея. Прям вооот такая вот грабля, которая будет вас лупить и лупить по голове. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2020, 16:39 |
|
Как сохранить транзакцию частично в триггере
|
|||
---|---|---|---|
#18+
Challenger Можно ли тоже самое сделать как то по другому? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2020, 16:40 |
|
Как сохранить транзакцию частично в триггере
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич, если явно даю delete from table в триггере, то зависает транзакция. Может там какие-то нюансы есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2020, 16:53 |
|
Как сохранить транзакцию частично в триггере
|
|||
---|---|---|---|
#18+
Challenger Гавриленко Сергей Алексеевич, если явно даю delete from table в триггере, то зависает транзакция. Может там какие-то нюансы есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2020, 17:00 |
|
Как сохранить транзакцию частично в триггере
|
|||
---|---|---|---|
#18+
Challenger Гавриленко Сергей Алексеевич, если явно даю delete from table в триггере, то зависает транзакция. Может там какие-то нюансы есть? Идите по пути INSTEAD OF INSERT . А вообще я подозреваю, что вам проще в самом insert условие поставить. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2020, 17:18 |
|
Как сохранить транзакцию частично в триггере
|
|||
---|---|---|---|
#18+
Всё это необходимо выполнять в процедуре. Программировать бизнес-логику "на триггерах" очень плохая идея. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2020, 18:05 |
|
Как сохранить транзакцию частично в триггере
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич Сделать instead of триггер и не вставлять те данные, которые вставлять не надо. Если перейти все таки е Instead of trigger В нем явно надо прописывать insert Как корректно по условию, вставлять (поведение по умолчанию без триггера) или не вставлять запись? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2020, 00:02 |
|
Как сохранить транзакцию частично в триггере
|
|||
---|---|---|---|
#18+
Challenger Гавриленко Сергей Алексеевич Сделать instead of триггер и не вставлять те данные, которые вставлять не надо. Если перейти все таки е Instead of trigger В нем явно надо прописывать insert Как корректно по условию, вставлять (поведение по умолчанию без триггера) или не вставлять запись? Как-то так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2020, 00:03 |
|
Как сохранить транзакцию частично в триггере
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич, спасибо огромное, а есть возможность не указывать список полей в ситуации когда поведение по умолчанию Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2020, 00:15 |
|
Как сохранить транзакцию частично в триггере
|
|||
---|---|---|---|
#18+
выдается ошибка в последнем случае Значение столбца идентификаторов в таблице "tbTest" может указываться явно только при использовании списка столбцов и когда IDENTITY_INSERT установлен в ON. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2020, 00:17 |
|
Как сохранить транзакцию частично в триггере
|
|||
---|---|---|---|
#18+
Challenger выдается ошибка в последнем случае Значение столбца идентификаторов в таблице "tbTest" может указываться явно только при использовании списка столбцов и когда IDENTITY_INSERT установлен в ON. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2020, 01:20 |
|
Как сохранить транзакцию частично в триггере
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич Challenger выдается ошибка в последнем случае Значение столбца идентификаторов в таблице "tbTest" может указываться явно только при использовании списка столбцов и когда IDENTITY_INSERT установлен в ON. Список полей я написал. И это работает. Просто хотелось бы чтобы триггер не зависел от полей, если это возможно. Поля могут добавляться. Не хотелось бы каждый раз менять триггер. Или это невозможно? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2020, 01:29 |
|
Как сохранить транзакцию частично в триггере
|
|||
---|---|---|---|
#18+
Challenger Гавриленко Сергей Алексеевич пропущено... А вам религия не позволяет список полей написать без поля identity? Список полей я написал. И это работает. Просто хотелось бы чтобы триггер не зависел от полей, если это возможно. Поля могут добавляться. Не хотелось бы каждый раз менять триггер. Или это невозможно? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2020, 01:32 |
|
|
start [/forum/topic.php?fid=46&fpage=50&tid=1685729]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 256ms |
total: | 407ms |
0 / 0 |