Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Отмена вставки в Insert Trigger
|
|||
|---|---|---|---|
|
#18+
В общем, в вопросах SQL я нуб. Понадобилось написать триггер, который может отменять вставку записей. Отыскал пример, в котором написано, что это делается с помощью rollback. Все вроде бы в порядке, но при сохранении триггера rollback превращается в rollback work и при вставке в таблицу происходит ошибка "COMMIT/ROLLBACK not allowed within atomic operation". При попытке заменить rollback на rollback transaction sybase начинает рассматривать код триггера как написанный на TSQL (по умолчанию Watcom), начинает на другие вещи ругаться, на Order, на то, что не знает псевдонима inserted и т.д. Может кто-нибудь дать пример, как отменить вставку, либо на Watcom, либо на Transact? Спасибо заранее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 09:59 |
|
||
|
Отмена вставки в Insert Trigger
|
|||
|---|---|---|---|
|
#18+
Забыл сказать, что делаю это в ASA 7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 10:15 |
|
||
|
Отмена вставки в Insert Trigger
|
|||
|---|---|---|---|
|
#18+
попробовал вот так Код: plaintext 1. 2. 3. 4. 5. 6. ничего не выскакивает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 11:10 |
|
||
|
Отмена вставки в Insert Trigger
|
|||
|---|---|---|---|
|
#18+
Во, ключевое слово Rollback Trigger . Спасибо ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 11:35 |
|
||
|
Отмена вставки в Insert Trigger
|
|||
|---|---|---|---|
|
#18+
А еще лучше было бы не молча отменять вставку а кидать ошибку. Вместо rollback trigger напиши что-то в духе: Код: plaintext rollback trigger отменит только изменения сделанные в самом триггере, но не отменит вставку записей которая дернула триггер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 17:10 |
|
||
|
Отмена вставки в Insert Trigger
|
|||
|---|---|---|---|
|
#18+
White Owlrollback trigger отменит только изменения сделанные в самом триггере, но не отменит вставку записей которая дернула триггер. самое интересное, что независимо от того, какой тригер (before, after, row, statement) запись не вставляется =/, глюк? пробовал на тестовой табличке с 2-мя полями ASA 9.0.2 3320 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 08:04 |
|
||
|
Отмена вставки в Insert Trigger
|
|||
|---|---|---|---|
|
#18+
SQL Anywhere does provide the Adaptive Server Enterprise-compatible ROLLBACK TRIGGER statement to undo actions within triggers The ROLLBACK TRIGGER statement rolls back the work done in a trigger, including the data modification that caused the trigger to fire. Хотя с выдачей ошибки клиенту правильнее. У ж ватком так ватком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 08:35 |
|
||
|
Отмена вставки в Insert Trigger
|
|||
|---|---|---|---|
|
#18+
V.V.L.SQL Anywhere does provide the Adaptive Server Enterprise-compatible ROLLBACK TRIGGER statement to undo actions within triggers The ROLLBACK TRIGGER statement rolls back the work done in a trigger, including the data modification that caused the trigger to fire. Хотя с выдачей ошибки клиенту правильнее. У ж ватком так ватком.Главу полностью читать надо. Последний абзац: SQL Anywhere® Server - SQL Reference > SQL Statements > ROLLBACK TRIGGER statementIf a ROLLBACK TRIGGER statement is used within a nested trigger and without a RAISERROR statement, only the innermost trigger and the statement which caused it to fire are undone. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 17:29 |
|
||
|
|

start [/forum/search_topic.php?author=eTest&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 687ms |
| total: | 829ms |

| 0 / 0 |
